Document the role of makeNextPointStep.
[dygraphs.git] / auto_tests / tests / simple_drawing.js
index ca19301..544bb81 100644 (file)
@@ -49,10 +49,85 @@ SimpleDrawingTestCase.prototype.testDrawSimpleRangePlusOne = function() {
 
   var graph = document.getElementById("graph");
   var g = new Dygraph(graph, ZERO_TO_FIFTY, opts);
-  htx = g.hidden_ctx_;
+  var htx = g.hidden_ctx_;
 
   CanvasAssertions.assertLineDrawn(htx, [0,320], [475,6.2745], {
     strokeStyle: "#008080",
     lineWidth: 1
   });
+  CanvasAssertions.assertBalancedSaveRestore(htx);
+};
+
+SimpleDrawingTestCase.prototype.testDrawWithAxis = function() {
+  var graph = document.getElementById("graph");
+  var g = new Dygraph(graph, ZERO_TO_FIFTY);
+
+  var htx = g.hidden_ctx_;
+  CanvasAssertions.assertBalancedSaveRestore(htx);
+};
+
+/**
+ * Tests that it is drawing dashes, and it remember the dash history between
+ * points.
+ */
+SimpleDrawingTestCase.prototype.testDrawSimpleDash = function() {
+  var opts = {
+      drawXGrid: false,
+      drawYGrid: false,
+      drawXAxis: false,
+      drawYAxis: false,
+      'Y1': {strokePattern: [25, 7, 7, 7]},
+      colors: ['#ff0000']
+  };
+
+  var graph = document.getElementById("graph");
+  // Set the dims so we pass if default changes.
+  graph.style.width='480px';
+  graph.style.height='320px';
+  var g = new Dygraph(graph, [[1, 4], [2, 5], [3, 3], [4, 7], [5, 9]], opts);
+  htx = g.hidden_ctx_;
+
+  assertEquals(29, CanvasAssertions.numLinesDrawn(htx, "#ff0000"));
+  CanvasAssertions.assertBalancedSaveRestore(htx);
+};
+
+SimpleDrawingTestCase.prototype.testSeparatedPointsDontDraw = function() {
+  var graph = document.getElementById("graph");
+  var g = new Dygraph(
+      graph,
+      [[1, 10, 11],
+       [2, 11, null],
+       [3, 12, 13]],
+      { colors: ['red', 'blue']});
+  var htx = g.hidden_ctx_;
+  assertEquals(2, CanvasAssertions.numLinesDrawn(htx, '#ff0000'));
+  assertEquals(0, CanvasAssertions.numLinesDrawn(htx, '#0000ff'));
+}
+
+SimpleDrawingTestCase.prototype.testSeparatedPointsDontDraw_expanded = function() {
+  var graph = document.getElementById("graph");
+  var g = new Dygraph(
+      graph,
+      [[0, 10],
+       [1, 11],
+       [2, null],
+       [3, 13],
+       [4, 14]],
+      { colors: ['blue']});
+  var htx = g.hidden_ctx_;
+  var num_lines = 0;
+  var lines = CanvasAssertions.getLinesDrawn(htx);
+  for (var idx = 0; idx < lines.length; idx++) {
+    var line = lines[idx];
+    var color = line[1].properties.strokeStyle;
+    if (color === "#ff0000" || color === "#0000ff") {
+      console.log(line[0].args, line[1].args, color);
+    }
+  }
+
+  assertEquals(2, CanvasAssertions.numLinesDrawn(htx, '#0000ff'));
+  CanvasAssertions.assertLineDrawn(htx, [370, 87], [475, 25],
+      { strokeStyle: '#0000ff', });
+  CanvasAssertions.assertLineDrawn(htx, [56, 275], [161, 212],
+      { strokeStyle: '#0000ff', });
 }