X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Fpathological_cases.js;h=326fefb7116d71e97d166b1c5011c6beea7eba0a;hb=f6e73ea983b61b50a6152c98a9945725eb45edb2;hp=ade714c8a888243dcadb48c24db565925a10c0ae;hpb=89fdcedbda6906d90e15d84285c4f6c0b8d96d28;p=dygraphs.git diff --git a/auto_tests/tests/pathological_cases.js b/auto_tests/tests/pathological_cases.js index ade714c..326fefb 100644 --- a/auto_tests/tests/pathological_cases.js +++ b/auto_tests/tests/pathological_cases.js @@ -4,15 +4,26 @@ * * @author dan@dygraphs.com (Dan Vanderkam) */ + +import Dygraph from '../../src/dygraph'; +import Util from './Util'; + describe("pathological-cases", function() { +cleanupAfterEach(); + +var restoreConsole; +var logs = {}; beforeEach(function() { - document.body.innerHTML = "
"; + restoreConsole = Util.captureConsole(logs); }); afterEach(function() { + restoreConsole(); }); +var graph = document.getElementById("graph"); + it('testZeroPoint', function() { var opts = { width: 480, @@ -20,7 +31,6 @@ it('testZeroPoint', function() { }; var data = "X,Y\n"; - var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, opts); }); @@ -32,7 +42,6 @@ it('testOnePoint', function() { var data = "X,Y\n" + "1,2\n"; - var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, opts); }); @@ -61,10 +70,6 @@ it('testCombinations', function() { var variantOpts = { none: {}, - avoidMinZero: { - avoidMinZero: true, - includeZero: true - }, padded: { includeZero: true, drawAxesAtZero: true, @@ -81,7 +86,6 @@ it('testCombinations', function() { var opts = { width: 300, height: 150, - labelsDivWidth: 100, pointSize: 10 }; for (var key in base) { @@ -93,7 +97,7 @@ it('testCombinations', function() { var h = document.createElement('h3'); h.appendChild(document.createTextNode(baseName + ' ' + variantName)); - document.body.appendChild(h); + graph.appendChild(h); for (var dataName in dataSets) { var data = dataSets[dataName]; @@ -105,12 +109,22 @@ it('testCombinations', function() { var gdiv = document.createElement('div'); gdiv.style.display = 'inline-block'; box.appendChild(gdiv); - document.body.appendChild(box); + graph.appendChild(box); var cols = data && data[0] ? data[0].length : 0; opts.labels = ['X', 'A', 'B', 'C'].slice(0, cols); var g = new Dygraph(gdiv, data, opts); + + if (dataName == 'empty') { + assert.deepEqual(logs, { + log: [], warn: [], + error: ["Can't plot empty data set"] + }); + logs.error = []; // reset + } else { + assert.deepEqual(logs, {log: [], warn: [], error: []}); + } } } } @@ -125,7 +139,6 @@ it('testNullLegend', function() { var data = "X,Y\n" + "1,2\n"; - var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, opts); }); @@ -160,4 +173,18 @@ it('testConstantSeriesNegativeIncludeZero', function() { 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/); +}); + });