| OLD | NEW |
| 1 var _testFrame; | 1 var _testFrame; |
| 2 var _testFrameId; // We keep the id of the test frame to make it easier for a pe
rson to interpret the test results. | 2 var _testFrameId; // We keep the id of the test frame to make it easier for a pe
rson to interpret the test results. |
| 3 | 3 |
| 4 function setTestFrameById(id) | 4 function setTestFrameById(id) |
| 5 { | 5 { |
| 6 _testFrameId = id; | 6 _testFrameId = id; |
| 7 _testFrame = document.getElementById(id); | 7 _testFrame = document.getElementById(id); |
| 8 } | 8 } |
| 9 | 9 |
| 10 function deltaWidth() | 10 function deltaWidth() |
| 11 { | 11 { |
| 12 return 10; // A resonable amount to be able to detect that the frame width c
hanged. | 12 return 10; // A resonable amount to be able to detect that the frame width c
hanged. |
| 13 } | 13 } |
| 14 | 14 |
| 15 function shouldAllowFrameResize() | 15 function shouldAllowFrameResize() |
| 16 { | 16 { |
| 17 shouldAllowFrameResizeAfterProcessingFrame(function(frame) { /* Do nothing.
*/}); | 17 shouldAllowFrameResizeAfterProcessingFrame(function(frame) { /* Do nothing.
*/}); |
| 18 } | 18 } |
| 19 | 19 |
| 20 function shouldDisallowFrameResize() | 20 function shouldDisallowFrameResize() |
| 21 { | 21 { |
| 22 shouldDisallowFrameResizeAfterProcessingFrame(function(frame) { /* Do nothin
g. */}) | 22 shouldDisallowFrameResizeAfterProcessingFrame(function(frame) { /* Do nothin
g. */}) |
| 23 } | 23 } |
| 24 | 24 |
| 25 function shouldDisallowFrameResizeAfterProcessingFrame(processFrameFunction) | 25 function shouldDisallowFrameResizeAfterProcessingFrame(processFrameFunction) |
| 26 { | 26 { |
| 27 var expectedWidth = _testFrame.width; | 27 var expectedWidth = _testFrame.getBoundingClientRect().width; |
| 28 processFrameFunction(_testFrame); | 28 processFrameFunction(_testFrame); |
| 29 resizeTestFrameBy(deltaWidth()); | 29 resizeTestFrameBy(deltaWidth()); |
| 30 checkTestFrameWidthEquals(expectedWidth); | 30 checkTestFrameWidthEquals(expectedWidth); |
| 31 } | 31 } |
| 32 | 32 |
| 33 function shouldAllowFrameResizeAfterProcessingFrame(processFrameFunction) | 33 function shouldAllowFrameResizeAfterProcessingFrame(processFrameFunction) |
| 34 { | 34 { |
| 35 var expectedWidth = _testFrame.width + deltaWidth(); | 35 var expectedWidth = _testFrame.getBoundingClientRect().width + deltaWidth(); |
| 36 processFrameFunction(_testFrame); | 36 processFrameFunction(_testFrame); |
| 37 resizeTestFrameBy(deltaWidth()); | 37 resizeTestFrameBy(deltaWidth()); |
| 38 checkTestFrameWidthEquals(expectedWidth); | 38 checkTestFrameWidthEquals(expectedWidth); |
| 39 } | 39 } |
| 40 | 40 |
| 41 function checkTestFrameWidthEquals(expectedWidth) | 41 function checkTestFrameWidthEquals(expectedWidth) |
| 42 { | 42 { |
| 43 if (_testFrame.width === expectedWidth) | 43 if (_testFrame.getBoundingClientRect().width === expectedWidth) |
| 44 log('PASS document.getElementById("' + _testFrameId + '").width is ' + e
xpectedWidth); | 44 log('PASS document.getElementById("' + _testFrameId + '").getBoundingCli
entRect().width is ' + expectedWidth); |
| 45 else | 45 else |
| 46 log('FAIL document.getElementById("' + _testFrameId + '").width should b
e ' + expectedWidth + '. Was ' + _testFrame.width + '.'); | 46 log('FAIL document.getElementById("' + _testFrameId + '").getBoundingCli
entRect().width should be ' + expectedWidth + '. Was ' + _testFrame.getBoundingC
lientRect().width + '.'); |
| 47 } | 47 } |
| 48 | 48 |
| 49 function resizeTestFrameBy(deltaWidthInPixels) | 49 function resizeTestFrameBy(deltaWidthInPixels) |
| 50 { | 50 { |
| 51 var borderWidth = parseInt(_testFrame.parentNode.getAttribute("border")); | 51 var borderWidth = parseInt(_testFrame.parentNode.getAttribute("border")); |
| 52 | 52 |
| 53 var startX = _testFrame.offsetWidth + borderWidth / 2; | 53 var startX = _testFrame.offsetWidth + borderWidth / 2; |
| 54 var startY = _testFrame.offsetHeight / 2; | 54 var startY = _testFrame.offsetHeight / 2; |
| 55 var endX = startX + deltaWidthInPixels; | 55 var endX = startX + deltaWidthInPixels; |
| 56 var endY = startY; | 56 var endY = startY; |
| 57 | 57 |
| 58 eventSender.mouseMoveTo(startX, startY); | 58 eventSender.mouseMoveTo(startX, startY); |
| 59 eventSender.mouseDown(); | 59 eventSender.mouseDown(); |
| 60 eventSender.leapForward(100); | 60 eventSender.leapForward(100); |
| 61 eventSender.mouseMoveTo(endX, endY); | 61 eventSender.mouseMoveTo(endX, endY); |
| 62 eventSender.mouseUp(); | 62 eventSender.mouseUp(); |
| 63 } | 63 } |
| 64 | 64 |
| 65 function log(message) | 65 function log(message) |
| 66 { | 66 { |
| 67 document.getElementById("results").contentDocument.getElementById("console")
.appendChild(document.createTextNode(message + "\n")); | 67 document.getElementById("results").contentDocument.getElementById("console")
.appendChild(document.createTextNode(message + "\n")); |
| 68 } | 68 } |
| 69 | 69 |
| 70 function description(message) | 70 function description(message) |
| 71 { | 71 { |
| 72 document.getElementById("results").contentDocument.getElementById("descripti
on").innerText = message; | 72 document.getElementById("results").contentDocument.getElementById("descripti
on").innerText = message; |
| 73 } | 73 } |
| OLD | NEW |