Log warnings when using non-existent options
[dygraphs.git] / auto_tests / tests / per_series.js
index a198a95..8a7e081 100644 (file)
@@ -12,7 +12,6 @@ perSeriesTestCase.prototype.setUp = function() {
 perSeriesTestCase.prototype.tearDown = function() {
 };
 
-
 perSeriesTestCase.prototype.testPerSeriesFill = function() {
   var opts = {
     width: 480,
@@ -21,7 +20,9 @@ perSeriesTestCase.prototype.testPerSeriesFill = function() {
     drawYGrid: false,
     drawXAxis: false,
     drawYAxis: false,
-    Y: { fillGraph: true },
+    series: {
+      Y: { fillGraph: true },
+    },
     colors: [ '#FF0000', '#0000FF' ],
     fillAlpha: 0.15
   };
@@ -101,3 +102,77 @@ perSeriesTestCase.prototype.testNewStyleSeriesTrumpsOldStyle = function() {
   assertEquals(5, g.getOption("pointSize", "Y"));
 };
 
+// TODO(konigsberg): move to multiple_axes.js
+perSeriesTestCase.prototype.testAxisInNewSeries = function() {
+  var opts = {
+    series : {
+      D : { axis : 'y2' },
+      C : { axis : 1 },
+      B : { axis : 0 },
+      E : { axis : 'y' }
+    }
+  };
+  var graph = document.getElementById("graph");
+  var data = "X,A,B,C,D,E\n0,1,2,3,4,5\n";
+  g = new Dygraph(graph, data, opts);
+
+  assertEquals(["A", "B", "E"], g.attributes_.seriesForAxis(0));
+  assertEquals(["C", "D"], g.attributes_.seriesForAxis(1));
+};
+
+// TODO(konigsberg): move to multiple_axes.js
+perSeriesTestCase.prototype.testAxisInNewSeries_withAxes = function() {
+  var opts = {
+    series : {
+      D : { axis : 'y2' },
+      C : { axis : 1 },
+      B : { axis : 0 },
+      E : { axis : 'y' }
+    },
+    axes : {
+      y : { pointSize : 7 },
+      y2 : { pointSize  : 6 }
+    }
+  };
+  var graph = document.getElementById("graph");
+  var data = "X,A,B,C,D,E\n0,1,2,3,4,5\n";
+  g = new Dygraph(graph, data, opts);
+
+  assertEquals(["A", "B", "E"], g.attributes_.seriesForAxis(0));
+  assertEquals(["C", "D"], g.attributes_.seriesForAxis(1));
+
+  assertEquals(1.5, g.getOption("pointSize"));
+  assertEquals(7, g.getOption("pointSize", "A"));
+  assertEquals(7, g.getOption("pointSize", "B"));
+  assertEquals(6, g.getOption("pointSize", "C"));
+  assertEquals(6, g.getOption("pointSize", "D"));
+  assertEquals(7, g.getOption("pointSize", "E"));
+};
+
+// TODO(konigsberg): move to multiple_axes.js
+perSeriesTestCase.prototype.testOldAxisSpecInNewSeriesThrows = function() {
+  var opts = {
+    series : {
+      D : { axis : {} },
+    },
+  };
+  var graph = document.getElementById("graph");
+  var data = "X,A,B,C,D,E\n0,1,2,3,4,5\n";
+  var threw = false;
+  try {
+    new Dygraph(graph, data, opts);
+  } catch(e) {
+    threw = true;
+  }
+
+  assertTrue(threw);
+}
+
+perSeriesTestCase.prototype.testColorOption = function() {
+  var graph = document.getElementById("graph");
+  var data = "X,A,B,C\n0,1,2,3\n";
+  var g = new Dygraph(graph, data, {});
+  assertEquals(['rgb(64,128,0)', 'rgb(64,0,128)', 'rgb(0,128,128)'], g.getColors());
+  g.updateOptions({series : { B : { color : 'purple' }}});
+  assertEquals(['rgb(64,128,0)', 'purple', 'rgb(0,128,128)'], g.getColors());
+}