TEST: adapted test for bugfix
authoreichsjul <julian.eichstaedt@ch.sauter-bc.com>
Fri, 12 Apr 2013 06:51:37 +0000 (08:51 +0200)
committereichsjul <julian.eichstaedt@ch.sauter-bc.com>
Fri, 12 Apr 2013 06:51:37 +0000 (08:51 +0200)
auto_tests/tests/connect_separated_points.js

index 65baf91..0f40d90 100644 (file)
@@ -3,26 +3,26 @@
  *\r
  * @author julian.eichstaedt@ch.sauter-bc.com (Fr. Sauter AG)\r
  */\r
-var StepTestCase = TestCase("connect_separated_points");\r
+var ConnectSeparatedPointsTestCase = TestCase("connect-separated-points");\r
 \r
-StepTestCase.prototype.setUp = function() {\r
+ConnectSeparatedPointsTestCase.prototype.setUp = function() {\r
   document.body.innerHTML = "<div id='graph'></div>";\r
 };\r
 \r
-StepTestCase.origFunc = Dygraph.getContext;\r
+ConnectSeparatedPointsTestCase.origFunc = Dygraph.getContext;\r
 \r
-StepTestCase.prototype.setUp = function() {\r
+ConnectSeparatedPointsTestCase.prototype.setUp = function() {\r
   document.body.innerHTML = "<div id='graph'></div>";\r
   Dygraph.getContext = function(canvas) {\r
-    return new Proxy(StepTestCase.origFunc(canvas));\r
+    return new Proxy(ConnectSeparatedPointsTestCase.origFunc(canvas));\r
   };\r
 };\r
 \r
-StepTestCase.prototype.tearDown = function() {\r
-  Dygraph.getContext = StepTestCase.origFunc;\r
+ConnectSeparatedPointsTestCase.prototype.tearDown = function() {\r
+  Dygraph.getContext = ConnectSeparatedPointsTestCase.origFunc;\r
 };\r
 \r
-StepTestCase.prototype.testEdgePoints = function() {\r
+ConnectSeparatedPointsTestCase.prototype.testEdgePointsSimple = function() {\r
   var opts = {\r
     width: 480,\r
     height: 320,\r
@@ -30,22 +30,30 @@ StepTestCase.prototype.testEdgePoints = function() {
 //    drawYGrid: false,\r
 //    drawXAxis: false,\r
 //    drawYAxis: false,\r
-    errorBars: false,\r
-    labels: ["x", "series1", "series2"],\r
+//    errorBars: false,\r
+    labels: ["x", "series1", "series2", "series3"],\r
     connectSeparatedPoints: true,\r
+    drawPoints: true,\r
     dateWindow: [1.5,6.5]\r
   };\r
 \r
   var data = [\r
-              [0,0,2],\r
-              [1,null,0.5],\r
-              [2,0.5,1],\r
-              [3,1,-1],\r
-              [4,2,-2],\r
-              [5,2.5,-2.5],\r
-              [6,3,-3],\r
-              [7,4,null],\r
-              [8,4,-4],\r
+              [-7,-1000,0,null],\r
+              [-6,null,2,null],\r
+              [-5,null,2,null],\r
+              [-4,null,2,null],\r
+              [-3,null,2,null],\r
+              [-2,null,2,null],\r
+              [-1,null,2,null],\r
+              [0,null,2,null],\r
+              [1,null,4,null],\r
+              [2,0.5,0,null],\r
+              [3,1,-1,5],\r
+              [4,2,-2,6],\r
+              [5,2.5,-2.5,7],\r
+              [6,3,-3,4],\r
+              [7,4,null,5],\r
+              [8,4,-10,6],\r
              ];\r
 \r
   var graph = document.getElementById("graph");\r
@@ -65,8 +73,8 @@ StepTestCase.prototype.testEdgePoints = function() {
   \r
   // The third (the second valid) point of the first series\r
   // This series has no value at the second position.\r
-  var x2 = data[2][0];\r
-  var y2 = data[2][1];\r
+  var x2 = data[9][0];\r
+  var y2 = data[9][1];\r
   var xy2 = g.toDomCoords(x2, y2);\r
   \r
   // Check if both points are connected at the left edge of the canvas and if the option "connectSeparatedPoints" works properly\r
@@ -79,18 +87,96 @@ StepTestCase.prototype.testEdgePoints = function() {
   // The sixth point of the second series\r
   // Use the sixth and NOT the seventh point despite this series has eight points \r
   // since this series has no value at the seventh position.\r
-  var x1 = data[6][0];\r
-  var y1 = data[6][2];\r
+  var x1 = data[13][0];\r
+  var y1 = data[13][2];\r
   var xy1 = g.toDomCoords(x1, y1);\r
   \r
   // The last point of the second series.\r
-  var x2 = data[8][0];\r
-  var y2 = data[8][2];\r
+  var x2 = data[15][0];\r
+  var y2 = data[15][2];\r
   var xy2 = g.toDomCoords(x2, y2);\r
   \r
   // Check if both points are connected at the right edge of the canvas and if the option "connectSeparatedPoints" works properly\r
   // even if the point is outside the visible range and only one series has a valid value for this point.\r
   CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);\r
+};\r
+\r
+ConnectSeparatedPointsTestCase.prototype.testEdgePointsStacked = function() {\r
+  var opts = {\r
+    width: 480,\r
+    height: 320,\r
+//    drawXGrid: false,\r
+//    drawYGrid: false,\r
+//    drawXAxis: false,\r
+//    drawYAxis: false,\r
+//    errorBars: false,\r
+    labels: ["x", "series1", "series2", "series3"],\r
+    connectSeparatedPoints: true,\r
+    drawPoints: true,\r
+    stackedGraph: true,\r
+    dateWindow: [1.5,6.5]\r
+  };\r
+\r
+  var data = [\r
+              [-7,null,1,0],\r
+              [-6,null,3,null],\r
+              [-5,null,3,null],\r
+              [-4,null,3,null],\r
+              [-3,null,3,null],\r
+              [-2,null,3,null],\r
+              [-1,null,3,null],\r
+              [0,null,3,null],\r
+              [1,null,3,null],\r
+              [2,null,1,3],\r
+              [3,3,1,1],\r
+              [4,4,2,2],\r
+              [5,3,2,2],\r
+              [6,3,1,3],\r
+              [7,4,null,2],\r
+              [8,5,2,1],\r
+             ];\r
+\r
+  var graph = document.getElementById("graph");\r
+  var g = new Dygraph(graph, data, opts);\r
+  \r
+  htx = g.hidden_ctx_;\r
+\r
+  var attrs = {};  \r
+\r
+  //Test if series1 is drawn correctly.\r
+  //------------------------------------\r
+  \r
+  // The first point of the first series\r
+  var x1 = data[0][0];\r
+  var y1 = data[0][1];\r
+  var xy1 = g.toDomCoords(x1, y1);\r
+  \r
+  // The third (the second valid) point of the first series\r
+  // This series has no value at the second position.\r
+  var x2 = data[9][0];\r
+  var y2 = data[9][1];\r
+  var xy2 = g.toDomCoords(x2, y2);\r
+  \r
+  // Check if both points are connected at the left edge of the canvas and if the option "connectSeparatedPoints" works properly\r
+  // even if the point is outside the visible range and only one series has a valid value for this point.\r
+  CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);\r
 \r
-    \r
+  //Test if series2 is drawn correctly.\r
+  //------------------------------------\r
+  \r
+  // The sixth point of the second series\r
+  // Use the sixth and NOT the seventh point despite this series has eight points \r
+  // since this series has no value at the seventh position.\r
+  var x1 = data[13][0];\r
+  var y1 = data[13][2];\r
+  var xy1 = g.toDomCoords(x1, y1);\r
+  \r
+  // The last point of the second series.\r
+  var x2 = data[15][0];\r
+  var y2 = data[15][2];\r
+  var xy2 = g.toDomCoords(x2, y2);\r
+  \r
+  // Check if both points are connected at the right edge of the canvas and if the option "connectSeparatedPoints" works properly\r
+  // even if the point is outside the visible range and only one series has a valid value for this point.\r
+  CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);\r
 };\r