Merge pull request #449 from gregoryjordan/master
[dygraphs.git] / auto_tests / tests / missing_points.js
index 3c52dd0..3a27759 100644 (file)
@@ -188,7 +188,7 @@ MissingPointsTestCase.prototype.testErrorBarsWithMissingPoints = function() {
 
   var htx = g.hidden_ctx_;
 
-  assertEquals(8, CanvasAssertions.numLinesDrawn(htx, '#ff0000'));
+  assertEquals(2, CanvasAssertions.numLinesDrawn(htx, '#ff0000'));
 
   var p0 = g.toDomCoords(data[0][0], data[0][1][0]);
   var p1 = g.toDomCoords(data[1][0], data[1][1][0]);
@@ -222,7 +222,7 @@ MissingPointsTestCase.prototype.testErrorBarsWithMissingPointsConnected = functi
 
   var htx = g.hidden_ctx_;
   
-  assertEquals(8, CanvasAssertions.numLinesDrawn(htx, '#ff0000'));
+  assertEquals(2, CanvasAssertions.numLinesDrawn(htx, '#ff0000'));
 
   var p1 = g.toDomCoords(data[1][0], data[1][1][0]);
   var p2 = g.toDomCoords(data[3][0], data[3][1][0]);
@@ -257,7 +257,7 @@ MissingPointsTestCase.prototype.testCustomBarsWithMissingPoints = function() {
 
   var htx = g.hidden_ctx_;
 
-  assertEquals(16, CanvasAssertions.numLinesDrawn(htx, '#ff0000'));
+  assertEquals(4, CanvasAssertions.numLinesDrawn(htx, '#ff0000'));
 
   var p0 = g.toDomCoords(data[0][0], data[0][1][1]);
   var p1 = g.toDomCoords(data[1][0], data[1][1][1]);
@@ -298,7 +298,7 @@ MissingPointsTestCase.prototype.testCustomBarsWithMissingPointsConnected = funct
 
   var htx = g.hidden_ctx_;
   
-  assertEquals(8, CanvasAssertions.numLinesDrawn(htx, '#ff0000'));
+  assertEquals(2, CanvasAssertions.numLinesDrawn(htx, '#ff0000'));
 
   var p1 = g.toDomCoords(data[1][0], data[1][1][1]);
   var p2 = g.toDomCoords(data[3][0], data[3][1][1]);
@@ -307,3 +307,40 @@ MissingPointsTestCase.prototype.testCustomBarsWithMissingPointsConnected = funct
       [p1, p2, p3],
       { strokeStyle: '#ff0000' });
 };
+MissingPointsTestCase.prototype.testLeftBoundaryWithMisingPoints = function() {
+  var data = [
+              [1, null, 3],
+              [2, 1, null],
+              [3, 0, 5],
+              [4, 2, 1],
+              [5, 4, null],
+              [6, 3, 2]
+             ];
+  var g = new Dygraph(
+    document.getElementById("graph"),
+    data,
+    {
+      connectSeparatedPoints: true,
+      drawPoints: true,
+      colors: ['red','blue']
+    }
+  );
+  g.updateOptions({ dateWindow : [ 2.5, 4.5 ] });
+  assertEquals(1, g.getLeftBoundary_(0));
+  assertEquals(0, g.getLeftBoundary_(1));
+
+  var domX = g.toDomXCoord(1.9);
+  var closestRow = g.findClosestRow(domX);
+  assertEquals(1, closestRow);
+
+  g.setSelection(closestRow);
+  assertEquals(1, g.selPoints_.length);
+  assertEquals(1, g.selPoints_[0].yval);
+  
+
+  g.setSelection(3);
+  assertEquals(2, g.selPoints_.length);
+  assertEquals(g.selPoints_[0].xval, g.selPoints_[1].xval);
+  assertEquals(2, g.selPoints_[0].yval);
+  assertEquals(1, g.selPoints_[1].yval);
+};