summaryrefslogtreecommitdiffstats
path: root/toolkit/content/tests/chrome/bug451540_window.xul
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/content/tests/chrome/bug451540_window.xul')
-rw-r--r--toolkit/content/tests/chrome/bug451540_window.xul248
1 files changed, 0 insertions, 248 deletions
diff --git a/toolkit/content/tests/chrome/bug451540_window.xul b/toolkit/content/tests/chrome/bug451540_window.xul
deleted file mode 100644
index 3c08c95c9..000000000
--- a/toolkit/content/tests/chrome/bug451540_window.xul
+++ /dev/null
@@ -1,248 +0,0 @@
-<?xml version="1.0"?>
-
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
- - License, v. 2.0. If a copy of the MPL was not distributed with this
- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
-
-<window id="451540test"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- width="600"
- height="600"
- title="451540 test">
-
- <script type="application/javascript"><![CDATA[
- const {interfaces: Ci, classes: Cc, results: Cr, utils: Cu} = Components;
- Cu.import("resource://gre/modules/Task.jsm");
- Cu.import("resource://testing-common/BrowserTestUtils.jsm");
- Cu.import("resource://testing-common/ContentTask.jsm");
- ContentTask.setTestScope(window.opener.wrappedJSObject);
- const SEARCH_TEXT = "minefield";
-
- let gFindBar = null;
- let gPrefsvc = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
- let gBrowser;
-
- let sendCtrl = true;
- let sendMeta = false;
- if (navigator.platform.indexOf("Mac") >= 0) {
- sendCtrl = false;
- sendMeta = true;
- }
-
- let imports = [ "SimpleTest", "ok", "is", "info"];
- for (let name of imports) {
- window[name] = window.opener.wrappedJSObject[name];
- }
-
- SimpleTest.requestLongerTimeout(2);
-
- function startTest() {
- gFindBar = document.getElementById("FindToolbar");
- gBrowser = document.getElementById("content");
- gBrowser.addEventListener("pageshow", onPageShow, false);
- let data = `data:text/html,<input id="inp" type="text" />
- <textarea id="tarea"/>`;
- gBrowser.loadURI(data);
- }
-
- function promiseHighlightFinished() {
- return new Promise(resolve => {
- let listener = {
- onHighlightFinished() {
- gFindBar.browser.finder.removeResultListener(listener);
- resolve();
- }
- };
- gFindBar.browser.finder.addResultListener(listener);
- });
- }
-
- function* resetForNextTest(elementId, aText) {
- if (!aText)
- aText = SEARCH_TEXT;
-
- // Turn off highlighting
- let highlightButton = gFindBar.getElement("highlight");
- if (highlightButton.checked) {
- highlightButton.click();
- }
-
- // Initialise input
- info(`setting element value to ${aText}`);
- yield ContentTask.spawn(gBrowser, {elementId, aText}, function*(args) {
- let {elementId, aText} = args;
- let doc = content.document;
- let element = doc.getElementById(elementId);
- element.value = aText;
- element.focus();
- });
- info(`just set element value to ${aText}`);
- gFindBar._findField.value = SEARCH_TEXT;
-
- // Perform search and turn on highlighting
- gFindBar._find();
- highlightButton.click();
- yield promiseHighlightFinished();
-
- // Move caret to start of element
- info(`focusing element`);
- yield ContentTask.spawn(gBrowser, elementId, function*(elementId) {
- let doc = content.document;
- let element = doc.getElementById(elementId);
- element.focus();
- });
- info(`focused element`);
- if (navigator.platform.indexOf("Mac") >= 0) {
- yield BrowserTestUtils.synthesizeKey("VK_LEFT", { metaKey: true }, gBrowser);
- } else {
- yield BrowserTestUtils.synthesizeKey("VK_HOME", {}, gBrowser);
- }
- }
-
- function* testSelection(elementId, expectedRangeCount, message) {
- yield ContentTask.spawn(gBrowser, {elementId, expectedRangeCount, message}, function*(args) {
- let {elementId, expectedRangeCount, message} = args;
- let doc = content.document;
- let element = doc.getElementById(elementId);
- let controller = element.editor.selectionController;
- let selection = controller.getSelection(controller.SELECTION_FIND);
- Assert.equal(selection.rangeCount, expectedRangeCount, message);
- });
- }
-
- function* testInput(elementId, testTypeText) {
- let isEditableElement = yield ContentTask.spawn(gBrowser, elementId, function*(elementId) {
- let doc = content.document;
- let element = doc.getElementById(elementId);
- return element instanceof Ci.nsIDOMNSEditableElement;
- });
- if (!isEditableElement) {
- return;
- }
-
- // Initialize the findbar
- let matchCase = gFindBar.getElement("find-case-sensitive");
- if (matchCase.checked) {
- matchCase.doCommand();
- }
-
- // First check match has been correctly highlighted
- yield resetForNextTest(elementId);
-
- yield testSelection(elementId, 1, testTypeText + " correctly highlighted match");
-
- // Test 2: check highlight removed when text added within the highlight
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", {}, gBrowser);
- yield BrowserTestUtils.synthesizeKey("a", {}, gBrowser);
-
- yield testSelection(elementId, 0, testTypeText + " correctly removed highlight on text insertion");
-
- // Test 3: check highlighting remains when text added before highlight
- yield resetForNextTest(elementId);
- yield BrowserTestUtils.synthesizeKey("a", {}, gBrowser);
- yield testSelection(elementId, 1, testTypeText + " highlight correctly remained on text insertion at start");
-
- // Test 4: check highlighting remains when text added after highlight
- yield resetForNextTest(elementId);
- for (let x = 0; x < SEARCH_TEXT.length; x++) {
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", {}, gBrowser);
- }
- yield BrowserTestUtils.synthesizeKey("a", {}, gBrowser);
- yield testSelection(elementId, 1, testTypeText + " highlight correctly remained on text insertion at end");
-
- // Test 5: deleting text within the highlight
- yield resetForNextTest(elementId);
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", {}, gBrowser);
- yield BrowserTestUtils.synthesizeKey("VK_BACK_SPACE", {}, gBrowser);
- yield testSelection(elementId, 0, testTypeText + " correctly removed highlight on text deletion");
-
- // Test 6: deleting text at end of highlight
- yield resetForNextTest(elementId, SEARCH_TEXT + "A");
- for (let x = 0; x < (SEARCH_TEXT + "A").length; x++) {
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", {}, gBrowser);
- }
- yield BrowserTestUtils.synthesizeKey("VK_BACK_SPACE", {}, gBrowser);
- yield testSelection(elementId, 1, testTypeText + " highlight correctly remained on text deletion at end");
-
- // Test 7: deleting text at start of highlight
- yield resetForNextTest(elementId, "A" + SEARCH_TEXT);
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", {}, gBrowser);
- yield BrowserTestUtils.synthesizeKey("VK_BACK_SPACE", {}, gBrowser);
- yield testSelection(elementId, 1, testTypeText + " highlight correctly remained on text deletion at start");
-
- // Test 8: deleting selection
- yield resetForNextTest(elementId);
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", { shiftKey: true }, gBrowser);
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", { shiftKey: true }, gBrowser);
- yield BrowserTestUtils.synthesizeKey("x", { ctrlKey: sendCtrl, metaKey: sendMeta }, gBrowser);
- yield testSelection(elementId, 0, testTypeText + " correctly removed highlight on selection deletion");
-
- // Test 9: Multiple matches within one editor (part 1)
- // Check second match remains highlighted after inserting text into
- // first match, and that its highlighting gets removed when the
- // second match is edited
- yield resetForNextTest(elementId, SEARCH_TEXT + " " + SEARCH_TEXT);
- yield testSelection(elementId, 2, testTypeText + " correctly highlighted both matches");
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", {}, gBrowser);
- yield BrowserTestUtils.synthesizeKey("a", {}, gBrowser);
- yield testSelection(elementId, 1, testTypeText + " correctly removed only the first highlight on text insertion");
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", { ctrlKey: sendCtrl, metaKey: sendMeta }, gBrowser);
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", { ctrlKey: sendCtrl, metaKey: sendMeta }, gBrowser);
- yield BrowserTestUtils.synthesizeKey("VK_LEFT", {}, gBrowser);
- yield BrowserTestUtils.synthesizeKey("a", {}, gBrowser);
- yield testSelection(elementId, 0, testTypeText + " correctly removed second highlight on text insertion");
-
- // Test 10: Multiple matches within one editor (part 2)
- // Check second match remains highlighted after deleting text in
- // first match, and that its highlighting gets removed when the
- // second match is edited
- yield resetForNextTest(elementId, SEARCH_TEXT + " " + SEARCH_TEXT);
- yield testSelection(elementId, 2, testTypeText + " correctly highlighted both matches");
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", {}, gBrowser);
- yield BrowserTestUtils.synthesizeKey("VK_BACK_SPACE", {}, gBrowser);
- yield testSelection(elementId, 1, testTypeText + " correctly removed only the first highlight on text deletion");
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", { ctrlKey: sendCtrl, metaKey: sendMeta }, gBrowser);
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", { ctrlKey: sendCtrl, metaKey: sendMeta }, gBrowser);
- yield BrowserTestUtils.synthesizeKey("VK_LEFT", {}, gBrowser);
- yield BrowserTestUtils.synthesizeKey("VK_BACK_SPACE", {}, gBrowser);
- yield testSelection(elementId, 0, testTypeText + " correctly removed second highlight on text deletion");
-
- // Test 11: Multiple matches within one editor (part 3)
- // Check second match remains highlighted after deleting selection
- // in first match, and that second match highlighting gets correctly
- // removed when it has a selection deleted from it
- yield resetForNextTest(elementId, SEARCH_TEXT + " " + SEARCH_TEXT);
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", { shiftKey: true }, gBrowser);
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", { shiftKey: true }, gBrowser);
- yield BrowserTestUtils.synthesizeKey("x", { ctrlKey: sendCtrl, metaKey: sendMeta }, gBrowser);
- yield testSelection(elementId, 1, testTypeText + " correctly removed only first highlight on selection deletion");
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", { ctrlKey: sendCtrl, metaKey: sendMeta }, gBrowser);
- yield BrowserTestUtils.synthesizeKey("VK_RIGHT", { ctrlKey: sendCtrl, metaKey: sendMeta }, gBrowser);
- yield BrowserTestUtils.synthesizeKey("VK_LEFT", { shiftKey: true }, gBrowser);
- yield BrowserTestUtils.synthesizeKey("VK_LEFT", { shiftKey: true }, gBrowser);
- yield BrowserTestUtils.synthesizeKey("x", { ctrlKey: sendCtrl, metaKey: sendMeta }, gBrowser);
- yield testSelection(elementId, 0, testTypeText + " correctly removed second highlight on selection deletion");
- }
-
- function onPageShow() {
- gBrowser.removeEventListener("load", onPageShow, true);
- Task.spawn(function*() {
- gFindBar.open();
- yield testInput("inp", "Input:");
- yield testInput("tarea", "Textarea:");
- }).then(() => {
- window.close();
- SimpleTest.finish();
- });
- }
-
- SimpleTest.waitForFocus(startTest, window);
- ]]></script>
-
- <browser type="content-primary" flex="1" id="content" src="about:blank"/>
- <browser type="content-primary" flex="1" id="content-remote" remote="true" src="about:blank"/>
- <findbar id="FindToolbar" browserid="content"/>
-</window>