X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;ds=sidebyside;f=auto_tests%2Ftests%2Fresize.js;h=9a8cffe650070456d9ec0132e4f061f12f7c4e2f;hb=a02a53659ac6e1a81fd1cad0c404104a17cd653b;hp=5d68b1bb8abef6492e958ee7088a72ea4cae9a95;hpb=c28088bca853c359d62bd49d29b05a238423f354;p=dygraphs.git diff --git a/auto_tests/tests/resize.js b/auto_tests/tests/resize.js index 5d68b1b..9a8cffe 100644 --- a/auto_tests/tests/resize.js +++ b/auto_tests/tests/resize.js @@ -3,25 +3,25 @@ * * @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() { +describe("resize", function() { + +var data = + "X,Y\n" + + "1,100\n" + + "2,200\n" + + "3,300\n" + + "4,400\n" + + "5,300\n" + + "6,100\n"; + +beforeEach(function() { document.body.innerHTML = "
"; -}; +}); -ResizeTestCase.prototype.tearDown = function() { -}; +afterEach(function() { +}); -ResizeTestCase.prototype.testResizeMaintainsMouseOperations = function() { +it('testResizeMaintainsMouseOperations', function() { document.body.innerHTML = '' + ''; @@ -41,34 +41,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"; 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 +76,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); +}); + +});