summaryrefslogtreecommitdiffstats
path: root/toolkit/content/tests/chrome/test_textbox_search.xul
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/content/tests/chrome/test_textbox_search.xul')
-rw-r--r--toolkit/content/tests/chrome/test_textbox_search.xul170
1 files changed, 0 insertions, 170 deletions
diff --git a/toolkit/content/tests/chrome/test_textbox_search.xul b/toolkit/content/tests/chrome/test_textbox_search.xul
deleted file mode 100644
index ae6153361..000000000
--- a/toolkit/content/tests/chrome/test_textbox_search.xul
+++ /dev/null
@@ -1,170 +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"?>
-<!--
- XUL Widget Test for search textbox
- -->
-<window title="Search textbox test" width="500" height="600"
- 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"/>
-
- <hbox>
- <textbox id="searchbox"
- type="search"
- oncommand="doSearch(this.value);"
- placeholder="random placeholder"
- timeout="1"/>
- </hbox>
-
- <!-- test results are displayed in the html:body -->
- <body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;"/>
-
- <!-- test code goes here -->
- <script type="application/javascript"><![CDATA[
-
-SimpleTest.waitForExplicitFinish();
-
-var gExpectedValue;
-var gLastTest;
-
-function doTests() {
- var textbox = $("searchbox");
- var icons = document.getAnonymousElementByAttribute(textbox, "anonid", "search-icons");
- var searchIcon = document.getAnonymousElementByAttribute(textbox, "class", "textbox-search-icon");
- var clearIcon = document.getAnonymousElementByAttribute(textbox, "class", "textbox-search-clear");
-
- ok(icons, "icon deck found");
- ok(searchIcon, "search icon found");
- ok(clearIcon, "clear icon found");
- is(icons.selectedPanel, searchIcon, "search icon is displayed");
-
- is(textbox.placeholder, "random placeholder", "search textbox supports placeholder");
- is(textbox.value, "", "placeholder doesn't interfere with the real value");
-
- function iconClick(aIcon) {
- is(icons.selectedPanel, aIcon, aIcon.className + " icon must be displayed in order to be clickable");
-
- //XXX synthesizeMouse worked on Linux but failed on Windows an Mac
- // for unknown reasons. Manually dispatch the event for now.
- //synthesizeMouse(aIcon, 0, 0, {});
-
- var event = document.createEvent("MouseEvent");
- event.initMouseEvent("click", true, true, window, 1,
- 0, 0, 0, 0,
- false, false, false, false,
- 0, null);
- aIcon.dispatchEvent(event);
- }
-
- iconClick(searchIcon);
- is(textbox.getAttribute("focused"), "true", "clicking the search icon focuses the textbox");
-
- textbox.value = "foo";
- is(icons.selectedPanel, clearIcon, "clear icon is displayed when setting a value");
-
- textbox.reset();
- is(textbox.defaultValue, "", "defaultValue is empty");
- is(textbox.value, "", "reset method clears the textbox");
- is(icons.selectedPanel, searchIcon, "search icon is displayed after textbox.reset()");
-
- textbox.value = "foo";
- gExpectedValue = "";
- iconClick(clearIcon);
- is(textbox.value, "", "clicking the clear icon clears the textbox");
- ok(gExpectedValue == null, "search triggered when clearing the textbox with the clear icon");
-
- textbox.value = "foo";
- gExpectedValue = "";
- synthesizeKey("VK_ESCAPE", {});
- is(textbox.value, "", "escape key clears the textbox");
- ok(gExpectedValue == null, "search triggered when clearing the textbox with the escape key");
-
- textbox.value = "bar";
- gExpectedValue = "bar";
- textbox.doCommand();
- ok(gExpectedValue == null, "search triggered with doCommand");
-
- gExpectedValue = "bar";
- synthesizeKey("VK_RETURN", {});
- ok(gExpectedValue == null, "search triggered with enter key");
-
- textbox.value = "";
- textbox.searchButton = true;
- is(textbox.getAttribute("searchbutton"), "true", "searchbutton attribute set on the textbox");
- is(searchIcon.getAttribute("searchbutton"), "true", "searchbutton attribute inherited to the search icon");
-
- textbox.value = "foo";
- is(icons.selectedPanel, searchIcon, "search icon displayed in search button mode if there's a value");
-
- gExpectedValue = "foo";
- iconClick(searchIcon);
- ok(gExpectedValue == null, "search triggered when clicking the search icon in search button mode");
- is(icons.selectedPanel, clearIcon, "clear icon displayed in search button mode after submitting");
-
- synthesizeKey("o", {});
- is(icons.selectedPanel, searchIcon, "search icon displayed in search button mode when typing a key");
-
- gExpectedValue = "fooo";
- iconClick(searchIcon); // display the clear icon (tested above)
-
- textbox.value = "foo";
- is(icons.selectedPanel, searchIcon, "search icon displayed in search button mode when the value is changed");
-
- gExpectedValue = "foo";
- synthesizeKey("VK_RETURN", {});
- ok(gExpectedValue == null, "search triggered with enter key in search button mode");
- is(icons.selectedPanel, clearIcon, "clear icon displayed in search button mode after submitting with enter key");
-
- textbox.value = "x";
- synthesizeKey("VK_BACK_SPACE", {});
- is(icons.selectedPanel, searchIcon, "search icon displayed in search button mode when deleting the value with the backspace key");
-
- gExpectedValue = "";
- synthesizeKey("VK_RETURN", {});
- ok(gExpectedValue == null, "search triggered with enter key in search button mode");
- is(icons.selectedPanel, searchIcon, "search icon displayed in search button mode after submitting an empty string");
-
- textbox.readOnly = true;
- gExpectedValue = "foo";
- textbox.value = "foo";
- iconClick(searchIcon);
- ok(gExpectedValue == null, "search triggered when clicking the search icon in search button mode while the textbox is read-only");
- is(icons.selectedPanel, searchIcon, "search icon persists in search button mode after submitting while the textbox is read-only");
- textbox.readOnly = false;
-
- textbox.disabled = true;
- is(searchIcon.getAttribute("disabled"), "true", "disabled attribute inherited to the search icon");
- is(clearIcon.getAttribute("disabled"), "true", "disabled attribute inherited to the clear icon");
- gExpectedValue = false;
- textbox.value = "foo";
- iconClick(searchIcon);
- ok(gExpectedValue == false, "search *not* triggered when clicking the search icon in search button mode while the textbox is disabled");
- is(icons.selectedPanel, searchIcon, "search icon persists in search button mode when trying to submit while the textbox is disabled");
- textbox.disabled = false;
- ok(!searchIcon.hasAttribute("disabled"), "disabled attribute removed from the search icon");
- ok(!clearIcon.hasAttribute("disabled"), "disabled attribute removed from the clear icon");
-
- textbox.searchButton = false;
- ok(!textbox.hasAttribute("searchbutton"), "searchbutton attribute removed from the textbox");
- ok(!searchIcon.hasAttribute("searchbutton"), "searchbutton attribute removed from the search icon");
-
- gLastTest = true;
- gExpectedValue = "123";
- textbox.value = "1";
- synthesizeKey("2", {});
- synthesizeKey("3", {});
-}
-
-function doSearch(aValue) {
- is(aValue, gExpectedValue, "search triggered with expected value");
- gExpectedValue = null;
- if (gLastTest)
- SimpleTest.finish();
-}
-
-SimpleTest.waitForFocus(doTests);
-
- ]]></script>
-
-</window>