X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Fscrolling_div.js;h=ceb2a3d9be8407c161bb5dbf8811e3281549e5f4;hb=1dc23fac4c126b2b3742801b2d82137044498ebf;hp=527f046e4601c9fb13e4ed1cee14e8e76bf7a5a5;hpb=a307700238038a375a5fcc4ca2553685debb4e6f;p=dygraphs.git diff --git a/auto_tests/tests/scrolling_div.js b/auto_tests/tests/scrolling_div.js index 527f046..ceb2a3d 100644 --- a/auto_tests/tests/scrolling_div.js +++ b/auto_tests/tests/scrolling_div.js @@ -50,6 +50,29 @@ var LOREM_IPSUM = }; +// 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() { + // Create the measurement node + var scrollDiv = document.createElement("div"); + scrollDiv.style.width = "100px"; + scrollDiv.style.height = "100px"; + scrollDiv.style.overflow = "scroll"; + scrollDiv.style.position = "absolute"; + scrollDiv.style.top = "-9999px"; + document.body.appendChild(scrollDiv); + + // Get the scrollbar width + var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; + + // Delete the DIV + document.body.removeChild(scrollDiv); + + return scrollbarWidth; +}; + ScrollingDivTestCase.prototype.tearDown = function() { }; @@ -83,7 +106,7 @@ ScrollingDivTestCase.prototype.testScrolledDiv = function() { var clickOn4_40 = { clientX: 244, - clientY: 20, + clientY: 30 - this.detectScrollbarWidth(), screenX: 416, screenY: 160 };