X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;ds=sidebyside;f=auto_tests%2Ftests%2Fscrolling_div.js;h=c9dec0c76ab10cace5de4e1535cbc8f2b5e29c76;hb=f0e472002843b5e61aa9467f97f755280c91a46b;hp=ceb2a3d9be8407c161bb5dbf8811e3281549e5f4;hpb=107c99e4ecbdfcf0b939fd385b1a34a3ba56d978;p=dygraphs.git diff --git a/auto_tests/tests/scrolling_div.js b/auto_tests/tests/scrolling_div.js index ceb2a3d..c9dec0c 100644 --- a/auto_tests/tests/scrolling_div.js +++ b/auto_tests/tests/scrolling_div.js @@ -3,9 +3,15 @@ * * @author konigsberg@google.com (Robert Konigsbrg) */ -var ScrollingDivTestCase = TestCase("scrolling-div"); -ScrollingDivTestCase.prototype.setUp = function() { +import Dygraph from '../../src/dygraph'; +import DygraphOps from './DygraphOps'; + +describe("scrolling-div", function() { + +var point, g; + +beforeEach(function() { var LOREM_IPSUM = "

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n" + @@ -16,13 +22,19 @@ var LOREM_IPSUM = "non proident, sunt in culpa qui officia deserunt mollit anim id est\n" + "laborum.

"; - document.body.innerHTML = + var testDiv = document.getElementById('graph'); + testDiv.innerHTML = "
" + - "
" + + "
" + "
" + LOREM_IPSUM + "
" + "
" + LOREM_IPSUM + "
" + "
"; + // The old test runner had an 8px margin on the body + // The Mocha test runner does not. We set it on the test div to keep the + // coordinates the same. + testDiv.style.margin = '8px'; + var data = [ [ 10, 1 ], [ 20, 3 ], @@ -33,28 +45,27 @@ var LOREM_IPSUM = [ 70, 4 ], [ 80, 6 ] ]; - var graph = document.getElementById("graph"); + var graph = document.getElementById("graph-inner"); - this.point = null; - var self = this; - this.g = new Dygraph(graph, data, + point = null; + g = new Dygraph(graph, data, { labels : ['a', 'b'], drawPoints : true, highlightCircleSize : 6, - pointClickCallback : function(evt, point) { - self.point = point; + pointClickCallback : function(evt, p) { + point = p; } } ); -}; +}); // This is usually something like 15, but for OS X Lion and its auto-hiding // scrollbars, it's 0. This is a large enough difference that we need to // consider it when synthesizing clicks. // Adapted from http://davidwalsh.name/detect-scrollbar-width -ScrollingDivTestCase.prototype.detectScrollbarWidth = function() { +var detectScrollbarWidth = function() { // Create the measurement node var scrollDiv = document.createElement("div"); scrollDiv.style.width = "100px"; @@ -73,13 +84,10 @@ ScrollingDivTestCase.prototype.detectScrollbarWidth = function() { return scrollbarWidth; }; -ScrollingDivTestCase.prototype.tearDown = function() { -}; - /** * This tests that when the nested div is unscrolled, things work normally. */ -ScrollingDivTestCase.prototype.testUnscrolledDiv = function() { +it('testUnscrolledDiv', function() { document.getElementById('scroller').scrollTop = 0; @@ -90,31 +98,33 @@ ScrollingDivTestCase.prototype.testUnscrolledDiv = function() { screenY: 320 }; - DygraphOps.dispatchCanvasEvent(this.g, DygraphOps.createEvent(clickOn4_40, { type : 'mousemove' })); - DygraphOps.dispatchCanvasEvent(this.g, DygraphOps.createEvent(clickOn4_40, { type : 'mousedown' })); - DygraphOps.dispatchCanvasEvent(this.g, DygraphOps.createEvent(clickOn4_40, { type : 'mouseup' })); + DygraphOps.dispatchCanvasEvent(g, DygraphOps.createEvent(clickOn4_40, { type : 'mousemove' })); + DygraphOps.dispatchCanvasEvent(g, DygraphOps.createEvent(clickOn4_40, { type : 'mousedown' })); + DygraphOps.dispatchCanvasEvent(g, DygraphOps.createEvent(clickOn4_40, { type : 'mouseup' })); - assertEquals(40, this.point.xval); - assertEquals(4, this.point.yval); -}; + assert.equal(40, point.xval); + assert.equal(4, point.yval); +}); /** * This tests that when the nested div is scrolled, things work normally. */ -ScrollingDivTestCase.prototype.testScrolledDiv = function() { +it('testScrolledDiv', function() { document.getElementById('scroller').scrollTop = 117; var clickOn4_40 = { clientX: 244, - clientY: 30 - this.detectScrollbarWidth(), + clientY: 30 - detectScrollbarWidth(), screenX: 416, screenY: 160 }; - DygraphOps.dispatchCanvasEvent(this.g, DygraphOps.createEvent(clickOn4_40, { type : 'mousemove' })); - DygraphOps.dispatchCanvasEvent(this.g, DygraphOps.createEvent(clickOn4_40, { type : 'mousedown' })); - DygraphOps.dispatchCanvasEvent(this.g, DygraphOps.createEvent(clickOn4_40, { type : 'mouseup' })); + DygraphOps.dispatchCanvasEvent(g, DygraphOps.createEvent(clickOn4_40, { type : 'mousemove' })); + DygraphOps.dispatchCanvasEvent(g, DygraphOps.createEvent(clickOn4_40, { type : 'mousedown' })); + DygraphOps.dispatchCanvasEvent(g, DygraphOps.createEvent(clickOn4_40, { type : 'mouseup' })); - assertEquals(40, this.point.xval); - assertEquals(4, this.point.yval); -}; + assert.equal(40, point.xval); + assert.equal(4, point.yval); +}); + +});