2 var _testFrameId; // We keep the id of the test frame to make it easier for a person to interpret the test results.
4 function setTestFrameById(id)
7 _testFrame = document.getElementById(id);
12 return 10; // A resonable amount to be able to detect that the frame width changed.
15 function shouldAllowFrameResize()
17 shouldAllowFrameResizeAfterProcessingFrame(function(frame) { /* Do nothing. */});
20 function shouldDisallowFrameResize()
22 shouldDisallowFrameResizeAfterProcessingFrame(function(frame) { /* Do nothing. */})
25 function shouldDisallowFrameResizeAfterProcessingFrame(processFrameFunction)
27 var expectedWidth = _testFrame.width;
28 processFrameFunction(_testFrame);
29 resizeTestFrameBy(deltaWidth());
30 checkTestFrameWidthEquals(expectedWidth);
33 function shouldAllowFrameResizeAfterProcessingFrame(processFrameFunction)
35 var expectedWidth = _testFrame.width + deltaWidth();
36 processFrameFunction(_testFrame);
37 resizeTestFrameBy(deltaWidth());
38 checkTestFrameWidthEquals(expectedWidth);
41 function checkTestFrameWidthEquals(expectedWidth)
43 if (_testFrame.width === expectedWidth)
44 log('PASS document.getElementById("' + _testFrameId + '").width is ' + expectedWidth);
46 log('FAIL document.getElementById("' + _testFrameId + '").width should be ' + expectedWidth + '. Was ' + _testFrame.width + '.');
49 function resizeTestFrameBy(deltaWidthInPixels)
51 var borderWidth = parseInt(_testFrame.parentNode.getAttribute("border"));
53 var startX = _testFrame.offsetWidth + borderWidth / 2;
54 var startY = _testFrame.offsetHeight / 2;
55 var endX = startX + deltaWidthInPixels;
58 eventSender.mouseMoveTo(startX, startY);
59 eventSender.mouseDown();
60 eventSender.leapForward(100);
61 eventSender.mouseMoveTo(endX, endY);
62 eventSender.mouseUp();
67 document.getElementById("results").contentDocument.getElementById("console").appendChild(document.createTextNode(message + "\n"));
70 function description(message)
72 document.getElementById("results").contentDocument.getElementById("description").innerText = message;