2 var printFullTestDetails = true; // This is optionaly switched of by test whose tested values can differ. (see disableFullTestDetailsPrinting())
7 if (window.testRunner) {
8 testRunner.dumpAsText(runPixelTests);
9 testRunner.waitUntilDone();
12 function runWithKeyDown(fn)
14 // FIXME: WKTR does not yet support the keyDown() message. Do a mouseDown here
15 // instead until keyDown support is added.
16 var eventName = !window.testRunner || eventSender.keyDown ? 'keypress' : 'mousedown'
19 document.removeEventListener(eventName, thunk, false);
22 document.addEventListener(eventName, thunk, false);
24 if (window.testRunner) {
25 if (eventSender.keyDown)
26 eventSender.keyDown(" ", []);
28 eventSender.mouseDown();
34 if (!console && document.body) {
35 console = document.createElement('div');
36 document.body.appendChild(console);
41 function testAndEnd(testFuncString)
43 test(testFuncString, true);
46 function test(testFuncString, endit)
48 logResult(eval(testFuncString), "TEST(" + testFuncString + ")");
53 function testExpected(testFuncString, expected, comparison)
56 var observed = eval(testFuncString);
62 if (comparison === undefined)
68 case '<': success = observed < expected; break;
69 case '<=': success = observed <= expected; break;
70 case '>': success = observed > expected; break;
71 case '>=': success = observed >= expected; break;
72 case '!=': success = observed != expected; break;
73 case '==': success = observed == expected; break;
76 reportExpected(success, testFuncString, comparison, expected, observed)
81 function reportExpected(success, testFuncString, comparison, expected, observed)
85 var msg = "Test " + testNumber;
87 if (printFullTestDetails || !success)
88 msg = "EXPECTED (<em>" + testFuncString + " </em>" + comparison + " '<em>" + expected + "</em>')";
91 msg += ", OBSERVED '<em>" + observed + "</em>'";
93 logResult(success, msg);
96 function waitForEventAndEnd(element, eventName, funcString)
98 waitForEvent(element, eventName, funcString, true)
101 function waitForEventOnce(element, eventName, func, endit)
103 waitForEvent(element, eventName, func, endit, true)
106 function waitForEvent(element, eventName, func, endit, once)
108 function _eventCallback(event)
111 element.removeEventListener(eventName, _eventCallback);
113 consoleWrite("EVENT(" + eventName + ")");
122 element.addEventListener(eventName, _eventCallback);
125 function waitForEventAndTest(element, eventName, testFuncString, endit)
127 function _eventCallback(event)
129 logResult(eval(testFuncString), "EVENT(" + eventName + ") TEST(" + testFuncString + ")");
134 element.addEventListener(eventName, _eventCallback);
137 function waitForEventTestAndEnd(element, eventName, testFuncString)
139 waitForEventAndTest(element, eventName, testFuncString, true);
142 var testEnded = false;
146 consoleWrite("END OF TEST");
148 if (window.testRunner)
149 testRunner.notifyDone();
152 function logResult(success, text)
155 consoleWrite(text + " <span style='color:green'>OK</span>");
157 consoleWrite(text + " <span style='color:red'>FAIL</span>");
160 function consoleWrite(text)
164 logConsole().innerHTML += text + "<br>";