X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Fto_dom_coords.js;h=c218e810a79b06422984a35727438a603b3d5925;hb=89fdcedbda6906d90e15d84285c4f6c0b8d96d28;hp=5bfab1ba254b23238775b5643baeca51ea0db503;hpb=bfb3e0a44ba7eb76704389cd1515db9995944d41;p=dygraphs.git diff --git a/auto_tests/tests/to_dom_coords.js b/auto_tests/tests/to_dom_coords.js index 5bfab1b..c218e81 100644 --- a/auto_tests/tests/to_dom_coords.js +++ b/auto_tests/tests/to_dom_coords.js @@ -4,35 +4,35 @@ * @author danvk@google.com (Dan Vanderkam) */ -var ToDomCoordsTestCase = TestCase("to-dom-coords"); +describe("to-dom-coords", function() { -ToDomCoordsTestCase._origFunc = Dygraph.getContext; -ToDomCoordsTestCase.prototype.setUp = function() { +var origFunc = Dygraph.getContext; +beforeEach(function() { document.body.innerHTML = "
"; Dygraph.getContext = function(canvas) { - return new Proxy(ToDomCoordsTestCase._origFunc(canvas)); + return new Proxy(origFunc(canvas)); } -}; +}); -ToDomCoordsTestCase.prototype.tearDown = function() { - Dygraph.getContext = ToDomCoordsTestCase._origFunc; -}; +afterEach(function() { + Dygraph.getContext = origFunc; +}); // Checks that toDomCoords and toDataCoords are inverses of one another. -ToDomCoordsTestCase.prototype.checkForInverses = function(g) { +var checkForInverses = function(g) { var x_range = g.xAxisRange(); var y_range = g.yAxisRange(); for (var i = 0; i <= 10; i++) { var x = x_range[0] + i / 10.0 * (x_range[1] - x_range[0]); for (var j = 0; j <= 10; j++) { var y = y_range[0] + j / 10.0 * (y_range[1] - y_range[0]); - assertEquals(x, g.toDataXCoord(g.toDomXCoord(x))); - assertEquals(y, g.toDataYCoord(g.toDomYCoord(y))); + assert.equal(x, g.toDataXCoord(g.toDomXCoord(x))); + assert.equal(y, g.toDataYCoord(g.toDomYCoord(y))); } } -} +}; -ToDomCoordsTestCase.prototype.testPlainChart = function() { +it('testPlainChart', function() { var opts = { axes : { x : { @@ -53,21 +53,21 @@ ToDomCoordsTestCase.prototype.testPlainChart = function() { } var graph = document.getElementById("graph"); - g = new Dygraph(graph, [ [0,0], [100,100] ], opts); + var g = new Dygraph(graph, [ [0,0], [100,100] ], opts); - assertEquals([0, 100], g.toDataCoords(0, 0)); - assertEquals([0, 0], g.toDataCoords(0, 400)); - assertEquals([100, 100], g.toDataCoords(400, 0)); - assertEquals([100, 0], g.toDataCoords(400, 400)); + assert.deepEqual([0, 100], g.toDataCoords(0, 0)); + assert.deepEqual([0, 0], g.toDataCoords(0, 400)); + assert.deepEqual([100, 100], g.toDataCoords(400, 0)); + assert.deepEqual([100, 0], g.toDataCoords(400, 400)); - this.checkForInverses(g); + checkForInverses(g); // TODO(konigsberg): This doesn't really belong here. Move to its own test. var htx = g.hidden_ctx_; - assertEquals(1, CanvasAssertions.numLinesDrawn(htx, '#ff0000')); -} + assert.equal(1, CanvasAssertions.numLinesDrawn(htx, '#ff0000')); +}); -ToDomCoordsTestCase.prototype.testChartWithAxes = function() { +it('testChartWithAxes', function() { var opts = { axes : { x : { @@ -91,17 +91,17 @@ ToDomCoordsTestCase.prototype.testChartWithAxes = function() { } var graph = document.getElementById("graph"); - g = new Dygraph(graph, [ [0,0], [100,100] ], opts); + var g = new Dygraph(graph, [ [0,0], [100,100] ], opts); - assertEquals([0, 100], g.toDataCoords(100, 0)); - assertEquals([0, 0], g.toDataCoords(100, 400)); - assertEquals([100, 100], g.toDataCoords(500, 0)); - assertEquals([100, 0], g.toDataCoords(500, 400)); + assert.deepEqual([0, 100], g.toDataCoords(100, 0)); + assert.deepEqual([0, 0], g.toDataCoords(100, 400)); + assert.deepEqual([100, 100], g.toDataCoords(500, 0)); + assert.deepEqual([100, 0], g.toDataCoords(500, 400)); - this.checkForInverses(g); -} + checkForInverses(g); +}); -ToDomCoordsTestCase.prototype.testChartWithAxesAndLabels = function() { +it('testChartWithAxesAndLabels', function() { var opts = { axes : { x : { @@ -130,17 +130,17 @@ ToDomCoordsTestCase.prototype.testChartWithAxesAndLabels = function() { } var graph = document.getElementById("graph"); - g = new Dygraph(graph, [ [0,0], [100,100] ], opts); + var g = new Dygraph(graph, [ [0,0], [100,100] ], opts); - assertEquals([0, 100], g.toDataCoords(100, 25)); - assertEquals([0, 0], g.toDataCoords(100, 425)); - assertEquals([100, 100], g.toDataCoords(500, 25)); - assertEquals([100, 0], g.toDataCoords(500, 425)); + assert.deepEqual([0, 100], g.toDataCoords(100, 25)); + assert.deepEqual([0, 0], g.toDataCoords(100, 425)); + assert.deepEqual([100, 100], g.toDataCoords(500, 25)); + assert.deepEqual([100, 0], g.toDataCoords(500, 425)); - this.checkForInverses(g); -} + checkForInverses(g); +}); -ToDomCoordsTestCase.prototype.testYAxisLabelWidth = function() { +it('testYAxisLabelWidth', function() { var opts = { axes: { y: { axisLabelWidth: 100 } }, axisTickSize: 0, @@ -152,19 +152,19 @@ ToDomCoordsTestCase.prototype.testYAxisLabelWidth = function() { } var graph = document.getElementById("graph"); - g = new Dygraph(graph, [ [0,0], [100,100] ], opts); + var g = new Dygraph(graph, [ [0,0], [100,100] ], opts); - assertEquals([100, 0], g.toDomCoords(0, 100)); - assertEquals([500, 486], g.toDomCoords(100, 0)); + assert.deepEqual([100, 0], g.toDomCoords(0, 100)); + assert.deepEqual([500, 486], g.toDomCoords(100, 0)); g.updateOptions({ axes: { y: { axisLabelWidth: 50 }}, }); - assertEquals([50, 0], g.toDomCoords(0, 100)); - assertEquals([500, 486], g.toDomCoords(100, 0)); -} + assert.deepEqual([50, 0], g.toDomCoords(0, 100)); + assert.deepEqual([500, 486], g.toDomCoords(100, 0)); +}); -ToDomCoordsTestCase.prototype.testAxisTickSize = function() { +it('testAxisTickSize', function() { var opts = { axes: { y: { axisLabelWidth: 100 } }, axisTickSize: 0, @@ -176,17 +176,17 @@ ToDomCoordsTestCase.prototype.testAxisTickSize = function() { } var graph = document.getElementById("graph"); - g = new Dygraph(graph, [ [0,0], [100,100] ], opts); + var g = new Dygraph(graph, [ [0,0], [100,100] ], opts); - assertEquals([100, 0], g.toDomCoords(0, 100)); - assertEquals([500, 486], g.toDomCoords(100, 0)); + assert.deepEqual([100, 0], g.toDomCoords(0, 100)); + assert.deepEqual([500, 486], g.toDomCoords(100, 0)); g.updateOptions({ axisTickSize : 50 }); - assertEquals([200, 0], g.toDomCoords(0, 100)); - assertEquals([500, 386], g.toDomCoords(100, 0)); -} + assert.deepEqual([200, 0], g.toDomCoords(0, 100)); + assert.deepEqual([500, 386], g.toDomCoords(100, 0)); +}); -ToDomCoordsTestCase.prototype.testChartLogarithmic_YAxis = function() { +it('testChartLogarithmic_YAxis', function() { var opts = { rightGap: 0, valueRange: [1, 4], @@ -208,23 +208,23 @@ ToDomCoordsTestCase.prototype.testChartLogarithmic_YAxis = function() { } var graph = document.getElementById("graph"); - g = new Dygraph(graph, [ [1,1], [4,4] ], opts); + var g = new Dygraph(graph, [ [1,1], [4,4] ], opts); var epsilon = 1e-8; - assertEqualsDelta([0, 4], g.toDataCoords(0, 0), epsilon); - assertEqualsDelta([0, 1], g.toDataCoords(0, 400), epsilon); - assertEqualsDelta([10, 4], g.toDataCoords(400, 0), epsilon); - assertEqualsDelta([10, 1], g.toDataCoords(400, 400), epsilon); - assertEqualsDelta([10, 2], g.toDataCoords(400, 200), epsilon); + assert.equalsDelta([0, 4], g.toDataCoords(0, 0), epsilon); + assert.equalsDelta([0, 1], g.toDataCoords(0, 400), epsilon); + assert.equalsDelta([10, 4], g.toDataCoords(400, 0), epsilon); + assert.equalsDelta([10, 1], g.toDataCoords(400, 400), epsilon); + assert.equalsDelta([10, 2], g.toDataCoords(400, 200), epsilon); - assertEquals([0, 0], g.toDomCoords(0, 4)); - assertEquals([0, 400], g.toDomCoords(0, 1)); - assertEquals([400, 0], g.toDomCoords(10, 4)); - assertEquals([400, 400], g.toDomCoords(10, 1)); - assertEquals([400, 200], g.toDomCoords(10, 2)); -} - -ToDomCoordsTestCase.prototype.testChartLogarithmic_XAxis = function() { + assert.deepEqual([0, 0], g.toDomCoords(0, 4)); + assert.deepEqual([0, 400], g.toDomCoords(0, 1)); + assert.deepEqual([400, 0], g.toDomCoords(10, 4)); + assert.deepEqual([400, 400], g.toDomCoords(10, 1)); + assert.deepEqual([400, 200], g.toDomCoords(10, 2)); +}); + +it('testChartLogarithmic_XAxis', function() { var opts = { rightGap: 0, valueRange: [1, 1000], @@ -246,41 +246,43 @@ ToDomCoordsTestCase.prototype.testChartLogarithmic_XAxis = function() { } var graph = document.getElementById("graph"); - g = new Dygraph(graph, [ [1,1], [10, 10], [100,100], [1000,1000] ], opts); + var g = new Dygraph(graph, [ [1,1], [10, 10], [100,100], [1000,1000] ], opts); var epsilon = 1e-8; - assertEqualsDelta(1, g.toDataXCoord(0), epsilon); - assertEqualsDelta(5.623413251903489, g.toDataXCoord(100), epsilon); - assertEqualsDelta(31.62277660168378, g.toDataXCoord(200), epsilon); - assertEqualsDelta(177.8279410038921, g.toDataXCoord(300), epsilon); - assertEqualsDelta(1000, g.toDataXCoord(400), epsilon); - - assertEqualsDelta(0, g.toDomXCoord(1), epsilon); - assertEqualsDelta(3.6036036036036037, g.toDomXCoord(10), epsilon); - assertEqualsDelta(39.63963963963964, g.toDomXCoord(100), epsilon); - assertEqualsDelta(400, g.toDomXCoord(1000), epsilon); - - assertEqualsDelta(0, g.toPercentXCoord(1), epsilon); - assertEqualsDelta(0.3333333333, g.toPercentXCoord(10), epsilon); - assertEqualsDelta(0.6666666666, g.toPercentXCoord(100), epsilon); - assertEqualsDelta(1, g.toPercentXCoord(1000), epsilon); + assert.equalsDelta(1, g.toDataXCoord(0), epsilon); + assert.equalsDelta(5.623413251903489, g.toDataXCoord(100), epsilon); + assert.equalsDelta(31.62277660168378, g.toDataXCoord(200), epsilon); + assert.equalsDelta(177.8279410038921, g.toDataXCoord(300), epsilon); + assert.equalsDelta(1000, g.toDataXCoord(400), epsilon); + + assert.equalsDelta(0, g.toDomXCoord(1), epsilon); + assert.equalsDelta(3.6036036036036037, g.toDomXCoord(10), epsilon); + assert.equalsDelta(39.63963963963964, g.toDomXCoord(100), epsilon); + assert.equalsDelta(400, g.toDomXCoord(1000), epsilon); + + assert.equalsDelta(0, g.toPercentXCoord(1), epsilon); + assert.equalsDelta(0.3333333333, g.toPercentXCoord(10), epsilon); + assert.equalsDelta(0.6666666666, g.toPercentXCoord(100), epsilon); + assert.equalsDelta(1, g.toPercentXCoord(1000), epsilon); // Now zoom in and ensure that the methods return reasonable values. g.updateOptions({dateWindow: [ 10, 100 ]}); - assertEqualsDelta(10, g.toDataXCoord(0), epsilon); - assertEqualsDelta(17.78279410038923, g.toDataXCoord(100), epsilon); - assertEqualsDelta(31.62277660168379, g.toDataXCoord(200), epsilon); - assertEqualsDelta(56.23413251903491, g.toDataXCoord(300), epsilon); - assertEqualsDelta(100, g.toDataXCoord(400), epsilon); - - assertEqualsDelta(-40, g.toDomXCoord(1), epsilon); - assertEqualsDelta(0, g.toDomXCoord(10), epsilon); - assertEqualsDelta(400, g.toDomXCoord(100), epsilon); - assertEqualsDelta(4400, g.toDomXCoord(1000), epsilon); - - assertEqualsDelta(-1, g.toPercentXCoord(1), epsilon); - assertEqualsDelta(0, g.toPercentXCoord(10), epsilon); - assertEqualsDelta(1, g.toPercentXCoord(100), epsilon); - assertEqualsDelta(2, g.toPercentXCoord(1000), epsilon); -} \ No newline at end of file + assert.equalsDelta(10, g.toDataXCoord(0), epsilon); + assert.equalsDelta(17.78279410038923, g.toDataXCoord(100), epsilon); + assert.equalsDelta(31.62277660168379, g.toDataXCoord(200), epsilon); + assert.equalsDelta(56.23413251903491, g.toDataXCoord(300), epsilon); + assert.equalsDelta(100, g.toDataXCoord(400), epsilon); + + assert.equalsDelta(-40, g.toDomXCoord(1), epsilon); + assert.equalsDelta(0, g.toDomXCoord(10), epsilon); + assert.equalsDelta(400, g.toDomXCoord(100), epsilon); + assert.equalsDelta(4400, g.toDomXCoord(1000), epsilon); + + assert.equalsDelta(-1, g.toPercentXCoord(1), epsilon); + assert.equalsDelta(0, g.toPercentXCoord(10), epsilon); + assert.equalsDelta(1, g.toPercentXCoord(100), epsilon); + assert.equalsDelta(2, g.toPercentXCoord(1000), epsilon); +}); + +});