OLD | NEW |
| (Empty) |
1 // Automatically add doNextStepButton to document for manual tests. | |
2 if (!window.testRunner) { | |
3 setTimeout(function () { | |
4 if (window.doNextStepButtonDisabled) | |
5 return; | |
6 doNextStepButton = document.body.insertBefore(document.createElement("bu
tton"), document.body.firstChild); | |
7 doNextStepButton.onclick = doNextStep; | |
8 doNextStepButton.innerText = "doNextStep button for manual testing. Use
keyboard to select button and press (TAB, then SPACE)."; | |
9 }, 0); | |
10 } | |
11 | |
12 function runOnKeyPress(fn) | |
13 { | |
14 function keypressHandler() { | |
15 document.removeEventListener('keypress', keypressHandler, false); | |
16 fn(); | |
17 } | |
18 document.addEventListener('keypress', keypressHandler, false); | |
19 | |
20 if (window.testRunner) | |
21 eventSender.keyDown(" ", []); | |
22 } | |
23 | |
24 function doNextStep(args) | |
25 { | |
26 args = args || {}; | |
27 if (!window.testRunner && args.withUserGesture) | |
28 return; // Wait for human to press doNextStep button. | |
29 | |
30 if (typeof(currentStep) == "undefined") | |
31 currentStep = 0; | |
32 | |
33 setTimeout(function () { | |
34 var thisStep = currentStep++; | |
35 if (thisStep < todo.length) | |
36 if (args.withUserGesture) | |
37 runOnKeyPress(todo[thisStep]); | |
38 else | |
39 todo[thisStep](); | |
40 else if (thisStep == todo.length) | |
41 setTimeout(function () { finishJSTest(); }, 0); // Deferred so that
excessive doNextStep calls will be observed. | |
42 else | |
43 testFailed("doNextStep called too many times."); | |
44 }, 0); | |
45 } | |
46 | |
47 function doNextStepWithUserGesture() | |
48 { | |
49 doNextStep({withUserGesture: true}); | |
50 } | |
51 | |
52 function eventExpected(eventHandlerName, message, expectedCalls, targetHanderNod
e) | |
53 { | |
54 targetHanderNode[eventHandlerName] = function () { | |
55 switch (expectedCalls--) { | |
56 case 0: | |
57 testFailed(eventHandlerName + " received after: " + message); | |
58 finishJSTest(); | |
59 break; | |
60 case 1: | |
61 doNextStep(); | |
62 default: | |
63 testPassed(eventHandlerName + " received after: " + message); | |
64 }; | |
65 }; | |
66 }; | |
67 | |
68 function expectOnlyChangeEvent(message, targetDocument) { | |
69 debug(" " + message); | |
70 targetDocument = targetDocument !== undefined ? targetDocument : document; | |
71 eventExpected("onwebkitpointerlockchange", message, 1, targetDocument); | |
72 eventExpected("onwebkitpointerlockerror", message, 0, targetDocument); | |
73 }; | |
74 | |
75 function expectOnlyErrorEvent(message, targetDocument) { | |
76 debug(" " + message); | |
77 targetDocument = targetDocument !== undefined ? targetDocument : document; | |
78 eventExpected("onwebkitpointerlockchange", message, 0, targetDocument); | |
79 eventExpected("onwebkitpointerlockerror", message, 1, targetDocument); | |
80 }; | |
81 | |
82 function expectNoEvents(message, targetDocument) { | |
83 debug(" " + message); | |
84 targetDocument = targetDocument !== undefined ? targetDocument : document; | |
85 eventExpected("onwebkitpointerlockchange", message, 0, targetDocument); | |
86 eventExpected("onwebkitpointerlockerror", message, 0, targetDocument); | |
87 }; | |
88 | |
OLD | NEW |