Merge branch 'master' of https://github.com/danvk/dygraphs into no-width-no-work
[dygraphs.git] / auto_tests / tests / stacked.js
index f1abbf5..f7ca442 100644 (file)
@@ -41,8 +41,9 @@ stackedTestCase.prototype.testCorrectColors = function() {
   // y pixel 100 = y1 line (green)
   // y pixels 0-99 = nothing (white)
 
-  var canvas = g.hidden_ctx_;
-  var imageData = canvas.getImageData(0, 0, 400, 300);
+  // TODO(danvk): factor this and getPixel() into a utility usable by all tests.
+  var ctx = g.hidden_ctx_;
+  var imageData = ctx.getImageData(0, 0, 400, 300);
 
   assertEquals(400, imageData.width);
   assertEquals(300, imageData.height);
@@ -59,3 +60,41 @@ stackedTestCase.prototype.testCorrectColors = function() {
   assertEquals([0, 0, 255, 38], getPixel(imageData, 200, 250));
   assertEquals([0, 255, 0, 38], getPixel(imageData, 200, 150));
 };
+
+// Regression test for http://code.google.com/p/dygraphs/issues/detail?id=358
+stackedTestCase.prototype.testSelectionValues = function() {
+  var opts = {
+    stackedGraph: true
+  };
+  var data = "X,Y1,Y2\n" +
+      "0,1,1\n" +
+      "1,1,1\n" +
+      "2,1,1\n" +
+      "3,1,1\n"
+  ;
+
+  var graph = document.getElementById("graph");
+  g = new Dygraph(graph, data, opts);
+
+  g.setSelection(0);
+
+  var legend = document.getElementsByClassName("dygraph-legend");
+  assertEquals(1, legend.length);
+  legend = legend[0];
+
+  assertEquals("0: Y1:1 Y2:1", legend.textContent);
+
+  // Verify that the behavior is correct with highlightSeriesOpts as well.
+  g.updateOptions({
+    highlightSeriesOpts: {
+      strokeWidth: 10
+    }
+  });
+  // NOTE: calling g.setSelection(0) here makes the test fail, due to an
+  // unrelated bug.
+  g.setSelection(1);
+  assertEquals("1: Y1:1 Y2:1", legend.textContent);
+
+  g.setSelection(0, 'Y2');
+  assertEquals("0: Y1:1 Y2:1", legend.textContent);
+};