diff options
Diffstat (limited to 'widget/tests/test_input_events_on_deactive_window.xul')
-rw-r--r-- | widget/tests/test_input_events_on_deactive_window.xul | 236 |
1 files changed, 0 insertions, 236 deletions
diff --git a/widget/tests/test_input_events_on_deactive_window.xul b/widget/tests/test_input_events_on_deactive_window.xul deleted file mode 100644 index a85646266..000000000 --- a/widget/tests/test_input_events_on_deactive_window.xul +++ /dev/null @@ -1,236 +0,0 @@ -<?xml version="1.0"?> -<?xml-stylesheet href="chrome://global/skin" type="text/css"?> -<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" - type="text/css"?> -<window title="Testing composition, text and query content events" - xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> - - <script type="application/javascript" - src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" /> - <script type="application/javascript" - src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js" /> - -<body xmlns="http://www.w3.org/1999/xhtml"> -<div id="content" style="display: none"> -</div> -<p id="display"> - <textarea id="textarea"></textarea> -</p> -<pre id="test"> -</pre> -</body> - -<script class="testbody" type="application/javascript"> -<![CDATA[ - -SimpleTest.waitForExplicitFinish(); -SimpleTest.waitForFocus(runTests, window); - -var fm = Components.classes["@mozilla.org/focus-manager;1"]. - getService(Components.interfaces.nsIFocusManager); -var textarea = document.getElementById("textarea"); -var otherWindow; -var timer; - -function runTests() -{ - textarea.focus(); - is(fm.focusedElement, textarea, "we're deactive"); - if (fm.focusedElement != textarea) { - SimpleTest.finish(); - return; - } - - otherWindow = - window.open("data:text/plain,this is an active window.", "_blank", - "chrome,width=100,height=100"); - ok(otherWindow, "failed to open other window"); - if (!otherWindow) { - SimpleTest.finish(); - return; - } - - SimpleTest.waitForFocus(startTests, otherWindow); - otherWindow.focus(); -} - -function startTests() -{ - clearTimeout(timer); - isnot(fm.focusedWindow, window, "we're not deactive"); - if (fm.focusedWindow == window) { - otherWindow.close(); - SimpleTest.finish(); - return; - } - - var keydownHandled, keypressHandled, keyupHandled, compositionstartHandled, - compositionendHandled, compositionupdateHandled, inputHandled; - - function clear() - { - keydownHandled = false; - keypressHandled = false; - keyupHandled = false; - compositionstartHandled = false; - compositionendHandled = false; - compositionupdateHandled = false; - inputHandled = false; - } - - function onEvent(aEvent) - { - if (aEvent.type == "keydown") { - keydownHandled = true; - } else if (aEvent.type == "keypress") { - keypressHandled = true; - } else if (aEvent.type == "keyup") { - keyupHandled = true; - } else if (aEvent.type == "compositionstart") { - compositionstartHandled = true; - } else if (aEvent.type == "compositionend") { - compositionendHandled = true; - } else if (aEvent.type == "compositionupdate") { - compositionupdateHandled = true; - } else if (aEvent.type == "input") { - inputHandled = true; - } else { - ok(false, "handled unknown event: " + aEvent.type); - } - } - - textarea.addEventListener("keydown", onEvent, false); - textarea.addEventListener("keypress", onEvent, false); - textarea.addEventListener("keyup", onEvent, false); - textarea.addEventListener("compositionstart", onEvent, false); - textarea.addEventListener("compositionend", onEvent, false); - textarea.addEventListener("compositionupdate", onEvent, false); - textarea.addEventListener("input", onEvent, false); - - startTestsInternal(); - - function startTestsInternal() - { - // key events - function checkKeyEvents(aKeydown, aKeypress, aKeyup, aInput, aDescription) - { - is(keydownHandled, aKeydown, - "keydown event is (not) handled: " + aDescription); - is(keypressHandled, aKeypress, - "keypress event is (not) handled: " + aDescription); - is(keyupHandled, aKeyup, - "keyup event is (not) handled: " + aDescription); - is(inputHandled, aInput, - "input event is (not) handled: " + aDescription); - } - - function checkCompositionEvents(aStart, aEnd, aUpdate, aInput, aDescription) - { - is(compositionstartHandled, aStart, - "compositionstart event is (not) handled: " + aDescription); - is(compositionendHandled, aEnd, - "compositionend event is (not) handled: " + aDescription); - is(compositionupdateHandled, aUpdate, - "compositionupdate event is (not) handled: " + aDescription); - is(inputHandled, aInput, - "input event is (not) handled: " + aDescription); - } - - clear(); - synthesizeKey("a", { type: "keydown" }); - checkKeyEvents(true, true, false, true, "a keydown and a keypress"); - is(textarea.value, "a", "textarea value isn't 'a'"); - clear(); - synthesizeKey("a", { type: "keyup" }); - checkKeyEvents(false, false, true, false, "a keyup"); - clear(); - synthesizeKey("VK_BACK_SPACE", {}); - checkKeyEvents(true, true, true, true, "VK_BACK_SPACE key events"); - is(textarea.value, "", "textarea value isn't empty"); - - // IME events - clear(); - // input first character - synthesizeCompositionChange( - { "composition": - { "string": "\u3089", - "clauses": - [ - { "length": 1, "attr": COMPOSITION_ATTR_RAW_CLAUSE } - ] - }, - "caret": { "start": 1, "length": 0 } - }); - checkCompositionEvents(true, false, true, true, "starting to compose"); - var queryText = synthesizeQueryTextContent(0, 100); - ok(queryText, "query text event result is null"); - if (!queryText) { - return; - } - ok(queryText.succeeded, "query text event failed"); - if (!queryText.succeeded) { - return; - } - is(queryText.text, "\u3089", "composing text is incorrect"); - var querySelectedText = synthesizeQuerySelectedText(); - ok(querySelectedText, "query selected text event result is null"); - if (!querySelectedText) { - return; - } - ok(querySelectedText.succeeded, "query selected text event failed"); - if (!querySelectedText.succeeded) { - return; - } - is(querySelectedText.offset, 1, - "query selected text event returns wrong offset"); - is(querySelectedText.text, "", - "query selected text event returns wrong selected text"); - clear(); - // commit composition - synthesizeComposition({ type: "compositioncommitasis" }); - checkCompositionEvents(false, true, false, true, "commit composition as is"); - queryText = synthesizeQueryTextContent(0, 100); - ok(queryText, "query text event result is null after commit"); - if (!queryText) { - return; - } - ok(queryText.succeeded, "query text event failed after commit"); - if (!queryText.succeeded) { - return; - } - is(queryText.text, "\u3089", "composing text is incorrect after commit"); - querySelectedText = synthesizeQuerySelectedText(); - ok(querySelectedText, - "query selected text event result is null after commit"); - if (!querySelectedText) { - return; - } - ok(querySelectedText.succeeded, - "query selected text event failed after commit"); - if (!querySelectedText.succeeded) { - return; - } - is(querySelectedText.offset, 1, - "query selected text event returns wrong offset after commit"); - is(querySelectedText.text, "", - "query selected text event returns wrong selected text after commit"); - clear(); - } - - textarea.removeEventListener("keydown", onEvent, false); - textarea.removeEventListener("keypress", onEvent, false); - textarea.removeEventListener("keyup", onEvent, false); - textarea.removeEventListener("compositionstart", onEvent, false); - textarea.removeEventListener("compositionupdate", onEvent, false); - textarea.removeEventListener("compositionend", onEvent, false); - textarea.removeEventListener("input", onEvent, false); - - otherWindow.close(); - - SimpleTest.finish(); -} - - -]]> -</script> -</window> |