X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Frange_tests.js;h=ff1018e15da32d9ffac6b7d1b34b50777c98861d;hb=refs%2Fheads%2Fgzip-size;hp=bdb87defdfc7502e3c01affac253919190ddbba1;hpb=89fdcedbda6906d90e15d84285c4f6c0b8d96d28;p=dygraphs.git diff --git a/auto_tests/tests/range_tests.js b/auto_tests/tests/range_tests.js index bdb87de..ff1018e 100644 --- a/auto_tests/tests/range_tests.js +++ b/auto_tests/tests/range_tests.js @@ -24,6 +24,12 @@ * * @author konigsberg@google.com (Robert Konigsberg) */ + +import Dygraph from '../../src/dygraph'; + +import DygraphOps from './DygraphOps'; +import {assertDeepCloseTo} from './custom_asserts'; + var ZERO_TO_FIFTY = [[ 10, 0 ] , [ 20, 50 ]]; var ZERO_TO_FIFTY_STEPS = (function() { var a = []; @@ -42,19 +48,18 @@ var FIVE_TO_ONE_THOUSAND = [ describe("range-tests", function() { -beforeEach(function() { - document.body.innerHTML = "
"; -}); +cleanupAfterEach(); var createGraph = function(opts, data, expectRangeX, expectRangeY) { if (data === undefined) data = ZERO_TO_FIFTY_STEPS; if (expectRangeX === undefined) expectRangeX = [10, 20]; if (expectRangeY === undefined) expectRangeY = [0, 55]; - var graph = document.getElementById("graph"); - var g = new Dygraph(graph, data, opts); + if (!opts) opts = {}; + opts['labels'] = ['X', 'Y']; + var g = new Dygraph('graph', data, opts); - assert.equalsDelta(expectRangeX, g.xAxisRange(), 0.01); - assert.equalsDelta(expectRangeY, g.yAxisRange(0), 0.01); + assertDeepCloseTo(expectRangeX, g.xAxisRange(), 0.01); + assertDeepCloseTo(expectRangeY, g.yAxisRange(0), 0.01); return g; }; @@ -123,16 +128,16 @@ var zoom = function(g, xRange, yRange) { DygraphOps.dispatchMouseMove(g, xRange[1], yRange[0]); // this is really necessary. DygraphOps.dispatchMouseUp(g, xRange[1], yRange[0]); - assert.equalsDelta(xRange, g.xAxisRange(), 0.2); - // assert.equalsDelta(originalYRange, g.yAxisRange(0), 0.2); // Not true, it's something in the middle. + assertDeepCloseTo(xRange, g.xAxisRange(), 0.2); + // assert.closeTo(originalYRange, g.yAxisRange(0), 0.2); // Not true, it's something in the middle. var midX = (xRange[1] - xRange[0]) / 2; DygraphOps.dispatchMouseDown(g, midX, yRange[0]); DygraphOps.dispatchMouseMove(g, midX, yRange[1]); // this is really necessary. DygraphOps.dispatchMouseUp(g, midX, yRange[1]); - assert.equalsDelta(xRange, g.xAxisRange(), 0.2); - assert.equalsDelta(yRange, g.yAxisRange(0), 0.2); + assertDeepCloseTo(xRange, g.xAxisRange(), 0.2); + assertDeepCloseTo(yRange, g.yAxisRange(0), 0.2); } @@ -144,13 +149,13 @@ it('testEmptyUpdateOptions_doesntUnzoom', function() { var g = createGraph(); zoom(g, [ 11, 18 ], [ 35, 40 ]); - assert.equalsDelta([11, 18], g.xAxisRange(), 0.1); - assert.equalsDelta([35, 40], g.yAxisRange(0), 0.2); + assertDeepCloseTo([11, 18], g.xAxisRange(), 0.1); + assertDeepCloseTo([35, 40], g.yAxisRange(0), 0.2); g.updateOptions({}); - assert.equalsDelta([11, 18], g.xAxisRange(), 0.1); - assert.equalsDelta([35, 40], g.yAxisRange(0), 0.2); + assertDeepCloseTo([11, 18], g.xAxisRange(), 0.1); + assertDeepCloseTo([35, 40], g.yAxisRange(0), 0.2); }); /** @@ -172,7 +177,10 @@ it('testRestoreOriginalRanges_viaUpdateOptions', function() { * Verify that log scale axis range is properly specified. */ it('testLogScaleExcludesZero', function() { - var g = new Dygraph("graph", FIVE_TO_ONE_THOUSAND, { logscale : true }); + var g = new Dygraph("graph", FIVE_TO_ONE_THOUSAND, { + logscale: true, + labels: ['X', 'Y'] + }); assert.deepEqual([10, 1099], g.yAxisRange(0)); g.updateOptions({ logscale : false }); @@ -183,7 +191,10 @@ it('testLogScaleExcludesZero', function() { * Verify that includeZero range is properly specified. */ it('testIncludeZeroIncludesZero', function() { - var g = new Dygraph("graph", [[0, 500], [500, 1000]], { includeZero : true }); + var g = new Dygraph("graph", [[0, 500], [500, 1000]], { + includeZero: true, + labels: ['X', 'Y'] + }); assert.deepEqual([0, 1100], g.yAxisRange(0)); g.updateOptions({ includeZero : false }); @@ -233,9 +244,12 @@ it('testIncludeZeroPerAxis', function() { * Verify that very large Y ranges don't break things. */ it('testHugeRange', function() { - var g = new Dygraph("graph", [[0, -1e120], [1, 1e230]], { includeZero : true }); - assert.equalsDelta(1, -1e229 / g.yAxisRange(0)[0], 0.001); - assert.equalsDelta(1, 1.1e230 / g.yAxisRange(0)[1], 0.001); + var g = new Dygraph("graph", [[0, -1e120], [1, 1e230]], { + includeZero: true, + labels: ['X', 'Y'] + }); + assert.closeTo(1, -1e229 / g.yAxisRange(0)[0], 0.001); + assert.closeTo(1, 1.1e230 / g.yAxisRange(0)[1], 0.001); }); /**