X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Frange_selector.js;h=82884c835e3a29ec665c8af100a31670f8bd78b5;hb=ad739e06ecde73b8a05ff619fa901474b408ddaa;hp=b04cbb5d161781d589a3f2805fe86e635aa87650;hpb=dc910fcebc0da0a621cf16073ebedabcff32fb12;p=dygraphs.git diff --git a/auto_tests/tests/range_selector.js b/auto_tests/tests/range_selector.js index b04cbb5..82884c8 100644 --- a/auto_tests/tests/range_selector.js +++ b/auto_tests/tests/range_selector.js @@ -4,13 +4,28 @@ * @fileoverview Regression tests for range selector. * @author paul.eric.felix@gmail.com (Paul Felix) */ + +import Dygraph from '../../src/dygraph'; +import * as utils from '../../src/dygraph-utils'; +import RangeSelectorPlugin from '../../src/plugins/range-selector'; + +import Util from './Util'; +import DygraphOps from './DygraphOps'; +import CanvasAssertions from './CanvasAssertions'; +import Proxy from './Proxy'; + describe("range-selector", function() { +cleanupAfterEach(); + +var restoreConsole; +var logs = {}; beforeEach(function() { - document.body.innerHTML = "
"; + restoreConsole = Util.captureConsole(logs); }); afterEach(function() { + restoreConsole(); }); it('testRangeSelector', function() { @@ -183,8 +198,13 @@ it('testRangeSelectorEnablingAfterCreation', function() { ]; var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, opts); + var initialChartHeight = g.getArea().h; g.updateOptions({showRangeSelector: true}); assertGraphExistence(g, graph); + assert(g.getArea().h < initialChartHeight); // range selector shown + + g.updateOptions({showRangeSelector: false}); + assert.equal(g.getArea().h, initialChartHeight); // range selector hidden }); // The animatedZooms option does not work with the range selector. Make sure it gets turned off. @@ -211,6 +231,10 @@ it('testRangeSelectorWithAnimatedZoomsOption', function() { var g = new Dygraph(graph, data, opts); assertGraphExistence(g, graph); assert.isFalse(g.getOption('animatedZooms')); + assert.deepEqual(logs, { + log: [], error: [], + warn: ["Animated zooms and range selector are not compatible; disabling animatedZooms."] + }); }); it('testRangeSelectorWithAnimatedZoomsOption2', function() { @@ -236,6 +260,10 @@ it('testRangeSelectorWithAnimatedZoomsOption2', function() { g.updateOptions({showRangeSelector: true}); assertGraphExistence(g, graph); assert.isFalse(g.getOption('animatedZooms')); + assert.deepEqual(logs, { + log: [], error: [], + warn: ["Animated zooms and range selector are not compatible; disabling animatedZooms."] + }); }); it('testRangeSelectorInteraction', function() { @@ -288,7 +316,7 @@ it('testRangeSelectorInteraction', function() { zoomhandles[0].dispatchEvent(mouseUpEvent); var newXRange = g.xAxisRange().slice(); - assert('left zoomhandle should have moved: '+newXRange[0]+'>'+xRange[0], newXRange[0] > xRange[0]); + assert(newXRange[0] > xRange[0], 'left zoomhandle should have moved: '+newXRange[0]+'>'+xRange[0]); assert.equal(xRange[1], newXRange[1], 'right zoomhandle should not have moved'); // Move right zoomhandle in @@ -353,8 +381,8 @@ it('testRangeSelectorInteraction', function() { fgcanvas.dispatchEvent(mouseUpEvent); var newXRange = g.xAxisRange().slice(); - assert(newXRange[0]+'<'+xRange[0], newXRange[0] < xRange[0]); - assert(newXRange[1]+'<'+xRange[1], newXRange[1] < xRange[1]); + assert(newXRange[0] < xRange[0], newXRange[0]+'<'+xRange[0]); + assert(newXRange[1] < xRange[1], newXRange[1]+'<'+xRange[1]); }); @@ -386,10 +414,9 @@ it('testRangeSelectorPositionIfXAxisNotDrawn', function() { it('testMiniPlotDrawn', function() { // Install Proxy to track canvas calls. - var origFunc = Dygraph.getContext; + var origFunc = utils.getContext; var miniHtx; - Dygraph.getContext = function(canvas) { - console.log(canvas.className); + utils.getContext = function(canvas) { if (canvas.className != 'dygraph-rangesel-bgcanvas') { return origFunc(canvas); } @@ -419,7 +446,7 @@ it('testMiniPlotDrawn', function() { assert.isNotNull(miniHtx); assert.isTrue(0 < CanvasAssertions.numLinesDrawn(miniHtx, '#ff0000')); - Dygraph.getContext = origFunc; + utils.getContext = origFunc; }); // Tests data computation for the mini plot with a single series. @@ -436,7 +463,7 @@ it('testSingleCombinedSeries', function() { var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, opts); - var rangeSelector = g.getPluginInstance_(Dygraph.Plugins.RangeSelector); + var rangeSelector = g.getPluginInstance_(RangeSelectorPlugin); assert.isNotNull(rangeSelector); var combinedSeries = rangeSelector.computeCombinedSeriesAndLimits_(); @@ -466,7 +493,7 @@ it('testCombinedSeries', function() { var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, opts); - var rangeSelector = g.getPluginInstance_(Dygraph.Plugins.RangeSelector); + var rangeSelector = g.getPluginInstance_(RangeSelectorPlugin); assert.isNotNull(rangeSelector); var combinedSeries = rangeSelector.computeCombinedSeriesAndLimits_(); @@ -499,7 +526,7 @@ it('testSelectedCombinedSeries', function() { var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, opts); - var rangeSelector = g.getPluginInstance_(Dygraph.Plugins.RangeSelector); + var rangeSelector = g.getPluginInstance_(RangeSelectorPlugin); assert.isNotNull(rangeSelector); var combinedSeries = rangeSelector.computeCombinedSeriesAndLimits_(); @@ -529,7 +556,7 @@ it('testSingleCombinedSeriesCustomBars', function() { var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, opts); - var rangeSelector = g.getPluginInstance_(Dygraph.Plugins.RangeSelector); + var rangeSelector = g.getPluginInstance_(RangeSelectorPlugin); assert.isNotNull(rangeSelector); var combinedSeries = rangeSelector.computeCombinedSeriesAndLimits_(); @@ -558,7 +585,7 @@ it('testSingleCombinedSeriesErrorBars', function() { var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, opts); - var rangeSelector = g.getPluginInstance_(Dygraph.Plugins.RangeSelector); + var rangeSelector = g.getPluginInstance_(RangeSelectorPlugin); assert.isNotNull(rangeSelector); var combinedSeries = rangeSelector.computeCombinedSeriesAndLimits_(); @@ -588,7 +615,7 @@ it('testTwoCombinedSeriesCustomBars', function() { var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, opts); - var rangeSelector = g.getPluginInstance_(Dygraph.Plugins.RangeSelector); + var rangeSelector = g.getPluginInstance_(RangeSelectorPlugin); assert.isNotNull(rangeSelector); var combinedSeries = rangeSelector.computeCombinedSeriesAndLimits_();