|
Line 0
a/LayoutTests/gamepad/gamepad-test.js_sec1
|
|
|
1 |
var console = null; |
| 2 |
var printFullTestDetails = true; // This is optionaly switched of by test whose tested values can differ. (see disableFullTestDetailsPrinting()) |
| 3 |
|
| 4 |
logConsole(); |
| 5 |
|
| 6 |
if (window.layoutTestController) { |
| 7 |
layoutTestController.dumpAsText(); |
| 8 |
layoutTestController.waitUntilDone(); |
| 9 |
} |
| 10 |
|
| 11 |
function logConsole() |
| 12 |
{ |
| 13 |
if (!console && document.body) { |
| 14 |
console = document.createElement('div'); |
| 15 |
document.body.appendChild(console); |
| 16 |
} |
| 17 |
return console; |
| 18 |
} |
| 19 |
|
| 20 |
function testExpected(testFuncString, expected, comparison) |
| 21 |
{ |
| 22 |
try { |
| 23 |
var observed = eval(testFuncString); |
| 24 |
} catch (ex) { |
| 25 |
consoleWrite(ex); |
| 26 |
return; |
| 27 |
} |
| 28 |
|
| 29 |
if (comparison === undefined) |
| 30 |
comparison = '=='; |
| 31 |
|
| 32 |
var success = false; |
| 33 |
switch (comparison) |
| 34 |
{ |
| 35 |
case '<': success = observed < expected; break; |
| 36 |
case '<=': success = observed <= expected; break; |
| 37 |
case '>': success = observed > expected; break; |
| 38 |
case '>=': success = observed >= expected; break; |
| 39 |
case '!=': success = observed != expected; break; |
| 40 |
case '!==': success = observed !== expected; break; |
| 41 |
case '==': success = observed == expected; break; |
| 42 |
case '===': success = observed === expected; break; |
| 43 |
} |
| 44 |
|
| 45 |
reportExpected(success, testFuncString, comparison, expected, observed) |
| 46 |
} |
| 47 |
|
| 48 |
var testNumber = 0; |
| 49 |
|
| 50 |
function reportExpected(success, testFuncString, comparison, expected, observed) |
| 51 |
{ |
| 52 |
testNumber++; |
| 53 |
|
| 54 |
var msg = "Test " + testNumber; |
| 55 |
|
| 56 |
if (printFullTestDetails || !success) |
| 57 |
msg = "EXPECTED (<em>" + testFuncString + " </em>" + comparison + " '<em>" + expected + "</em>')"; |
| 58 |
|
| 59 |
if (!success) |
| 60 |
msg += ", OBSERVED '<em>" + observed + "</em>'"; |
| 61 |
|
| 62 |
logResult(success, msg); |
| 63 |
} |
| 64 |
|
| 65 |
function waitForEventAndEnd(element, eventName, funcString) |
| 66 |
{ |
| 67 |
waitForEvent(element, eventName, funcString, true) |
| 68 |
} |
| 69 |
|
| 70 |
function waitForEvent(element, eventName, func, endit) |
| 71 |
{ |
| 72 |
function _eventCallback(event) |
| 73 |
{ |
| 74 |
consoleWrite("EVENT(" + eventName + ")"); |
| 75 |
|
| 76 |
if (func) |
| 77 |
func(event); |
| 78 |
|
| 79 |
if (endit) |
| 80 |
endTest(); |
| 81 |
} |
| 82 |
|
| 83 |
element.addEventListener(eventName, _eventCallback); |
| 84 |
} |
| 85 |
|
| 86 |
function waitForEventAndTest(element, eventName, testFuncString, endit) |
| 87 |
{ |
| 88 |
function _eventCallback(event) |
| 89 |
{ |
| 90 |
logResult(eval(testFuncString), "EVENT(" + eventName + ") TEST(" + testFuncString + ")"); |
| 91 |
if (endit) |
| 92 |
endTest(); |
| 93 |
} |
| 94 |
|
| 95 |
element.addEventListener(eventName, _eventCallback); |
| 96 |
} |
| 97 |
|
| 98 |
function waitForEventTestAndEnd(element, eventName, testFuncString) |
| 99 |
{ |
| 100 |
waitForEventAndTest(element, eventName, testFuncString, true); |
| 101 |
} |
| 102 |
|
| 103 |
var testEnded = false; |
| 104 |
|
| 105 |
function endTest() |
| 106 |
{ |
| 107 |
consoleWrite("END OF TEST"); |
| 108 |
testEnded = true; |
| 109 |
if (window.layoutTestController) |
| 110 |
layoutTestController.notifyDone(); |
| 111 |
} |
| 112 |
|
| 113 |
function logResult(success, text) |
| 114 |
{ |
| 115 |
if (success) |
| 116 |
consoleWrite(text + " <span style='color:green'>OK</span>"); |
| 117 |
else |
| 118 |
consoleWrite(text + " <span style='color:red'>FAIL</span>"); |
| 119 |
} |
| 120 |
|
| 121 |
function consoleWrite(text) |
| 122 |
{ |
| 123 |
if (testEnded) |
| 124 |
return; |
| 125 |
logConsole().innerHTML += text + "<br>"; |
| 126 |
} |