*\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
// 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
\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
// 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