Test non-existent divs
[dygraphs.git] / auto_tests / tests / pathological_cases.js
index 08d4661..40e877f 100644 (file)
@@ -4,16 +4,16 @@
  *
  * @author dan@dygraphs.com (Dan Vanderkam)
  */
-var pathologicalCasesTestCase = TestCase("pathological-cases");
+describe("pathological-cases", function() {
 
-pathologicalCasesTestCase.prototype.setUp = function() {
+beforeEach(function() {
   document.body.innerHTML = "<div id='graph'></div>";
-};
+});
 
-pathologicalCasesTestCase.prototype.tearDown = function() {
-};
+afterEach(function() {
+});
 
-pathologicalCasesTestCase.prototype.testZeroPoint = function() {
+it('testZeroPoint', function() {
   var opts = {
     width: 480,
     height: 320
@@ -22,9 +22,9 @@ pathologicalCasesTestCase.prototype.testZeroPoint = function() {
 
   var graph = document.getElementById("graph");
   var g = new Dygraph(graph, data, opts);
-};
+});
 
-pathologicalCasesTestCase.prototype.testOnePoint = function() {
+it('testOnePoint', function() {
   var opts = {
     width: 480,
     height: 320
@@ -34,9 +34,9 @@ pathologicalCasesTestCase.prototype.testOnePoint = function() {
 
   var graph = document.getElementById("graph");
   var g = new Dygraph(graph, data, opts);
-};
+});
 
-pathologicalCasesTestCase.prototype.testCombinations = function() {
+it('testCombinations', function() {
   var dataSets = {
     empty: [],
     onePoint: [[10, 2]],
@@ -114,9 +114,9 @@ pathologicalCasesTestCase.prototype.testCombinations = function() {
       }
     }
   }
-};
+});
 
-pathologicalCasesTestCase.prototype.testNullLegend = function() {
+it('testNullLegend', function() {
   var opts = {
     width: 480,
     height: 320,
@@ -127,11 +127,51 @@ pathologicalCasesTestCase.prototype.testNullLegend = function() {
 
   var graph = document.getElementById("graph");
   var g = new Dygraph(graph, data, opts);
-};
+});
 
-pathologicalCasesTestCase.prototype.testDivAsString = function() {
+it('testDivAsString', function() {
   var data = "X,Y\n" +
              "1,2\n";
 
   var g = new Dygraph('graph', data, {});
-}
+});
+
+
+it('testConstantSeriesNegative', function() {
+  var data = "X,Y\n" +
+             "1,-1\n" +
+             "2,-1\n";
+
+  var g = new Dygraph('graph', data, {});
+  // This check could be loosened to
+  // g.yAxisRange()[0] < g.yAxisRange()[1] if it breaks in the future.
+  assert.deepEqual([-1.1, -0.9], g.yAxisRange());
+});
+
+
+it('testConstantSeriesNegativeIncludeZero', function() {
+  var data = "X,Y\n" +
+             "1,-1\n" +
+             "2,-1\n";
+
+  var g = new Dygraph('graph', data, {includeZero: true});
+  // This check could be loosened to
+  // g.yAxisRange()[0] < g.yAxisRange()[1] if it breaks in the future.
+  assert.deepEqual([-1.1, 0], g.yAxisRange());
+});
+
+it('should throw with non-existent divs', function() {
+  var data = "X,Y\n" +
+             "1,-1\n" +
+             "2,1\n";
+
+  assert.throws(function() {
+    new Dygraph(null, data);
+  }, /non-existent div/);
+
+  assert.throws(function() {
+    new Dygraph('non-existent-div-id', data);
+  }, /non-existent div/);
+});
+
+});