X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Fgrid_per_axis.js;h=3a4c475c25f26f4b5337b5524af569b8e3e1b394;hb=ce31caf22475e3e1fd6d9fea192d61ff4fcd7fac;hp=580bf2f630c07f1a826c686803e69efa692ee988;hpb=89fdcedbda6906d90e15d84285c4f6c0b8d96d28;p=dygraphs.git diff --git a/auto_tests/tests/grid_per_axis.js b/auto_tests/tests/grid_per_axis.js index 580bf2f..3a4c475 100644 --- a/auto_tests/tests/grid_per_axis.js +++ b/auto_tests/tests/grid_per_axis.js @@ -4,24 +4,19 @@ * * @author david.eberlein@ch.sauter-bc.com (Fr. Sauter AG) */ -describe("grid-per-axis", function() { -beforeEach(function() { - document.body.innerHTML = "
"; -}); +import Dygraph from '../../src/dygraph'; +import * as utils from '../../src/dygraph-utils'; -var origFunc = Dygraph.getContext; +import Proxy from './Proxy'; +import CanvasAssertions from './CanvasAssertions'; +import Util from './Util'; +import PixelSampler from './PixelSampler'; -beforeEach(function() { - document.body.innerHTML = "
"; - Dygraph.getContext = function(canvas) { - return new Proxy(origFunc(canvas)); - }; -}); +describe("grid-per-axis", function() { -afterEach(function() { - Dygraph.getContext = origFunc; -}); +cleanupAfterEach(); +useProxyCanvas(utils, Proxy); it('testIndependentGrids', function() { var opts = { @@ -72,7 +67,7 @@ it('testIndependentGrids', function() { for ( var i = 0; i < gridlines[axis].length; i++) { // Check the labels: var labels = Util.getYLabels(axis + 1); - assert.equal("Expected label not found.", gridlines[axis][i], labels[i]); + assert.equal(gridlines[axis][i], labels[i], "Expected label not found."); // Check that the grid was drawn. y = halfDown(g.toDomYCoord(gridlines[axis][i], axis)); @@ -130,17 +125,19 @@ it('testPerAxisGridColors', function() { } var x, y; x = halfUp(g.plotter_.area.x); + var sampler = new PixelSampler(g); // Step through y(0) and y2(1) axis for ( var axis = 0; axis < 2; axis++) { // Step through all gridlines of the axis for ( var i = 0; i < gridlines[axis].length; i++) { y = halfDown(g.toDomYCoord(gridlines[axis][i], axis)); // Check the grid colors. - assert.equal("Unexpected grid color found at pixel: x: " + x + "y: " + y, - gridColors[axis], Util.samplePixel(g.hidden_, x, y)); + assert.deepEqual(gridColors[axis], sampler.colorAtPixel(x, y), + "Unexpected grid color found at pixel: x: " + x + "y: " + y); } } }); + it('testPerAxisGridWidth', function() { var opts = { width : 480, @@ -192,6 +189,8 @@ it('testPerAxisGridWidth', function() { } var x, y; x = halfUp(g.plotter_.area.x + 10); + + var sampler = new PixelSampler(g); // Step through y(0) and y2(1) axis for ( var axis = 0; axis < 2; axis++) { // Step through all gridlines of the axis @@ -200,32 +199,24 @@ it('testPerAxisGridWidth', function() { // Ignore the alpha value // FIXME(pholden): this test fails with a context pixel ratio of 2. - var drawnPixeldown2 = Util.samplePixel(g.hidden_, x, y - 2).slice(0, 3); - var drawnPixeldown1 = Util.samplePixel(g.hidden_, x, y - 1).slice(0, 3); - var drawnPixel = Util.samplePixel(g.hidden_, x, y).slice(0, 3); - var drawnPixelup1 = Util.samplePixel(g.hidden_, x, y + 1).slice(0, 3); - var drawnPixelup2 = Util.samplePixel(g.hidden_, x, y + 2).slice(0, 3); + var drawnPixeldown2 = sampler.rgbAtPixel(x, y - 2); + var drawnPixeldown1 = sampler.rgbAtPixel(x, y - 1); + var drawnPixel = sampler.rgbAtPixel(x, y); + var drawnPixelup1 = sampler.rgbAtPixel(x, y + 1); + var drawnPixelup2 = sampler.rgbAtPixel(x, y + 2); // Check the grid width. switch (axis) { case 0: // y with 2 pixels width - assert.equal("Unexpected y-grid color found at pixel: x: " + x + "y: " - + y, emptyColor, drawnPixeldown2); - assert.equal("Unexpected y-grid color found at pixel: x: " + x + "y: " - + y, gridColor, drawnPixeldown1); - assert.equal("Unexpected y-grid color found at pixel: x: " + x + "y: " - + y, gridColor, drawnPixel); - assert.equal("Unexpected y-grid color found at pixel: x: " + x + "y: " - + y, gridColor, drawnPixelup1); - assert.equal("Unexpected y-grid color found at pixel: x: " + x + "y: " - + y, emptyColor, drawnPixelup2); + assert.deepEqual(emptyColor, drawnPixeldown2, "Unexpected y-grid color found at pixel: x: " + x + "y: " + y); + assert.deepEqual(gridColor, drawnPixeldown1, "Unexpected y-grid color found at pixel: x: " + x + "y: " + y); + assert.deepEqual(gridColor, drawnPixel, "Unexpected y-grid color found at pixel: x: " + x + "y: " + y); + assert.deepEqual(gridColor, drawnPixelup1, "Unexpected y-grid color found at pixel: x: " + x + "y: " + y); + assert.deepEqual(emptyColor, drawnPixelup2, "Unexpected y-grid color found at pixel: x: " + x + "y: " + y); break; case 1: // y2 with 1 pixel width - assert.equal("Unexpected y2-grid color found at pixel: x: " + x + "y: " - + y, emptyColor, drawnPixeldown1); - assert.equal("Unexpected y2-grid color found at pixel: x: " + x + "y: " - + y, gridColor, drawnPixel); - assert.equal("Unexpected y2-grid color found at pixel: x: " + x + "y: " - + y, emptyColor, drawnPixelup1); + assert.deepEqual(emptyColor, drawnPixeldown1, "Unexpected y2-grid color found at pixel: x: " + x + "y: " + y); + assert.deepEqual(gridColor, drawnPixel, "Unexpected y2-grid color found at pixel: x: " + x + "y: " + y); + assert.deepEqual(emptyColor, drawnPixelup1, "Unexpected y2-grid color found at pixel: x: " + x + "y: " + y); break; } } @@ -235,26 +226,30 @@ it('testPerAxisGridWidth', function() { y = halfDown(g.plotter_.area.y) + 10; for ( var i = 0; i < xGridlines.length; i++) { x = halfUp(g.toDomXCoord(xGridlines[i])); - assert.equal("Unexpected x-grid color found at pixel: x: " + x + "y: " + y, - emptyColor, Util.samplePixel(g.hidden_, x - 4, y).slice(0, 3)); - assert.equal("Unexpected x-grid color found at pixel: x: " + x + "y: " + y, - gridColor, Util.samplePixel(g.hidden_, x - 3, y).slice(0, 3)); - assert.equal("Unexpected x-grid color found at pixel: x: " + x + "y: " + y, - gridColor, Util.samplePixel(g.hidden_, x - 2, y).slice(0, 3)); - assert.equal("Unexpected x-grid color found at pixel: x: " + x + "y: " + y, - gridColor, Util.samplePixel(g.hidden_, x - 1, y).slice(0, 3)); - assert.equal("Unexpected x-grid color found at pixel: x: " + x + "y: " + y, - gridColor, Util.samplePixel(g.hidden_, x, y).slice(0, 3)); - assert.equal("Unexpected x-grid color found at pixel: x: " + x + "y: " + y, - gridColor, Util.samplePixel(g.hidden_, x + 1, y).slice(0, 3)); - assert.equal("Unexpected x-grid color found at pixel: x: " + x + "y: " + y, - emptyColor, Util.samplePixel(g.hidden_, x + 2, y).slice(0, 3)); + assert.deepEqual(emptyColor, sampler.rgbAtPixel(x - 4, y), + "Unexpected x-grid color found at pixel: x: " + x + "y: " + y); + assert.deepEqual(gridColor, sampler.rgbAtPixel(x - 3, y), + "Unexpected x-grid color found at pixel: x: " + x + "y: " + y); + assert.deepEqual(gridColor, sampler.rgbAtPixel(x - 2, y), + "Unexpected x-grid color found at pixel: x: " + x + "y: " + y); + assert.deepEqual(gridColor, sampler.rgbAtPixel(x - 1, y), + "Unexpected x-grid color found at pixel: x: " + x + "y: " + y); + assert.deepEqual(gridColor, sampler.rgbAtPixel(x, y), + "Unexpected x-grid color found at pixel: x: " + x + "y: " + y); + assert.deepEqual(gridColor, sampler.rgbAtPixel(x + 1, y), + "Unexpected x-grid color found at pixel: x: " + x + "y: " + y); + assert.deepEqual(emptyColor, sampler.rgbAtPixel(x + 2, y), + "Unexpected x-grid color found at pixel: x: " + x + "y: " + y); } }); +// PhantomJS 1.9.x does not support setLineDash +// When Travis-CI updates to Phantom2, this can be re-enabled. +// See https://github.com/ariya/phantomjs/issues/12948 +if (!navigator.userAgent.match(/PhantomJS\/1.9/)) { it('testGridLinePattern', function() { var opts = { - width : 120, + width : 480, height : 320, errorBars : false, labels : [ "X", "Left", "Right" ], @@ -295,6 +290,7 @@ it('testGridLinePattern', function() { return Math.round(y) - 1; } var x, y; + var sampler = new PixelSampler(g); // Step through all gridlines of the axis for (var i = 0; i < yGridlines.length; i++) { y = halfDown(g.toDomYCoord(yGridlines[i], 0)); @@ -303,22 +299,25 @@ it('testGridLinePattern', function() { // avoid checking the edge pixels since they differ depending on the OS. var pixelpos = x % 10; if(pixelpos < 1 || pixelpos > 8) continue; + + // XXX: check what this looks like at master // Ignore alpha - var drawnPixel = Util.samplePixel(g.hidden_, x, y).slice(0,3); + var drawnPixel = sampler.rgbAtPixel(x, y); var pattern = (Math.floor((x) / 10)) % 2; switch (pattern) { case 0: // fill - assert.equal("Unexpected filled grid-pattern color found at pixel: x: " + x + " y: " - + y, [ 0, 0, 255 ], drawnPixel); + assert.deepEqual([ 0, 0, 255 ], drawnPixel, + "Unexpected filled grid-pattern color found at pixel: x: " + x + " y: " + y); break; case 1: // no fill - assert.equal("Unexpected empty grid-pattern color found at pixel: x: " + x + " y: " - + y, [ 0, 0, 0 ], drawnPixel); + assert.deepEqual([ 0, 0, 0 ], drawnPixel, + "Unexpected empty grid-pattern color found at pixel: x: " + x + " y: " + y); break; } } } }); +} });