X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Fresize.js;h=6230ffb941750cc7da47064b94fde89d6feb8dfc;hb=93ec1094eb75477b455efaa7adeb10190b87992b;hp=5d68b1bb8abef6492e958ee7088a72ea4cae9a95;hpb=c28088bca853c359d62bd49d29b05a238423f354;p=dygraphs.git diff --git a/auto_tests/tests/resize.js b/auto_tests/tests/resize.js index 5d68b1b..6230ffb 100644 --- a/auto_tests/tests/resize.js +++ b/auto_tests/tests/resize.js @@ -3,29 +3,28 @@ * * @author konigsberg@google.com (Robert Konigsberg) */ -var ResizeTestCase = TestCase("resize"); - -ResizeTestCase.data = - "Date,Y\n" + - "2010/01/01,100\n" + - "2010/02/01,200\n" + - "2010/03/01,300\n" + - "2010/04/01,400\n" + - "2010/05/01,300\n" + - "2010/06/01,100\n"; - -ResizeTestCase.prototype.setUp = function() { - document.body.innerHTML = "
"; -}; - -ResizeTestCase.prototype.tearDown = function() { -}; - -ResizeTestCase.prototype.testResizeMaintainsMouseOperations = function() { - document.body.innerHTML = - '
' + - ''; - var graph = document.getElementById("graph"); + +import Dygraph from '../../src/dygraph'; + +import DygraphOps from './DygraphOps'; +import Util from './Util'; + +describe("resize", function() { + +cleanupAfterEach(); + +var data = + "X,Y\n" + + "1,100\n" + + "2,200\n" + + "3,300\n" + + "4,400\n" + + "5,300\n" + + "6,100\n"; + +it('testResizeMaintainsMouseOperations', function() { + var graph = document.getElementById('graph'); + graph.setAttribute('style', 'width: 640px; height: 480px;'); var callbackCount = 0; var callback = function() { @@ -41,34 +40,34 @@ ResizeTestCase.prototype.testResizeMaintainsMouseOperations = function() { DygraphOps.dispatchMouseUp_Point(g, x2 - 1, y); } - g = new Dygraph(graph, ResizeTestCase.data, {highlightCallback: callback}); + var g = new Dygraph(graph, data, {highlightCallback: callback}); strum(g, 300, 640); - assertEquals(6, callbackCount); + assert.equal(6, callbackCount); - document.getElementById("graph").style.width = "500px"; + graph.style.width = "500px"; g.resize(); callbackCount = 0; strum(g, 300, 500); - assertEquals(6, callbackCount); -}; + assert.equal(6, callbackCount); +}); /** * Tests that a graph created in a not-displayed div works as expected * if the graph options include height and width. Resize not needed. */ -ResizeTestCase.prototype.testHiddenDivWithSizedGraph = function() { +it('testHiddenDivWithSizedGraph', function() { var div = document.getElementById("graph"); div.style.display = 'none'; - var g = new Dygraph(div, ResizeTestCase.data, {width: 400, height: 300}); + var g = new Dygraph(div, data, {width: 400, height: 300}); div.style.display = ''; var area = g.getArea(); - assertTrue(area.w > 0); - assertTrue(area.h > 0); -}; + assert.isTrue(area.w > 0); + assert.isTrue(area.h > 0); +}); /** * Tests that a graph created in a not-displayed div with @@ -76,18 +75,29 @@ ResizeTestCase.prototype.testHiddenDivWithSizedGraph = function() { * expected. The user needs to call resize() on it after displaying * it. */ -ResizeTestCase.prototype.testHiddenDivWithResize = function() { +it('testHiddenDivWithResize', function() { var div = document.getElementById("graph"); div.style.display = 'none'; div.style.width = '400px'; div.style.height = '300px'; - var g = new Dygraph(div, ResizeTestCase.data, {}); + // Setting strokeWidth 3 removes any ambiguitiy from the pixel sampling + // request, below. + var g = new Dygraph(div, data, {strokeWidth: 3}); div.style.display = ''; g.resize(); - area = g.getArea(); - assertTrue(area.w > 0); - assertTrue(area.h > 0); -}; + var area = g.getArea(); + assert.isTrue(area.w > 0); + assert.isTrue(area.h > 0); + + // Regression test: check that graph remains visible after no-op resize. + g.resize(); + var x = Math.floor(g.toDomXCoord(2)); + var y = Math.floor(g.toDomYCoord(200)); + assert.deepEqual([0, 128, 128, 255], Util.samplePixel(g.hidden_, x, y), + "Unexpected grid color found at pixel: x: " + x + " y: " + y); +}); + +});