diff options
Diffstat (limited to 'accessible/tests/mochitest/states/test_textbox.xul')
-rw-r--r-- | accessible/tests/mochitest/states/test_textbox.xul | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/accessible/tests/mochitest/states/test_textbox.xul b/accessible/tests/mochitest/states/test_textbox.xul new file mode 100644 index 0000000000..3daf2abe14 --- /dev/null +++ b/accessible/tests/mochitest/states/test_textbox.xul @@ -0,0 +1,153 @@ +<?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 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" + title="nsIAccessible XUL textboxes states tests"> + + <script type="application/javascript" + src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" /> + + <script type="application/javascript" + src="../common.js" /> + <script type="application/javascript" + src="../role.js" /> + <script type="application/javascript" + src="../states.js" /> + + <script type="application/javascript"> + <![CDATA[ + function getInput(aID) + { + return getNode(aID).inputField; + } + + function doTest() + { + ////////////////////////////////////////////////////////////////////////// + // Ordinary textbox + testStates(getInput("textbox"), + STATE_FOCUSABLE, + EXT_STATE_EDITABLE, + STATE_PROTECTED | STATE_UNAVAILABLE, + EXT_STATE_SUPPORTS_AUTOCOMPLETION, + "ordinary textbox"); + + ////////////////////////////////////////////////////////////////////////// + // Password textbox + testStates(getInput("password"), + STATE_FOCUSABLE | STATE_PROTECTED, + EXT_STATE_EDITABLE, + STATE_UNAVAILABLE, + EXT_STATE_SUPPORTS_AUTOCOMPLETION, + "password textbox"); + + ////////////////////////////////////////////////////////////////////////// + // Textarea + testStates(getInput("textarea"), + STATE_FOCUSABLE, + EXT_STATE_EDITABLE | EXT_STATE_MULTI_LINE, + STATE_PROTECTED | STATE_UNAVAILABLE, + EXT_STATE_SUPPORTS_AUTOCOMPLETION, + "multiline textbox"); + + ////////////////////////////////////////////////////////////////////////// + // Readonly textbox + testStates(getInput("readonly_textbox"), + STATE_FOCUSABLE | STATE_READONLY, + EXT_STATE_EDITABLE, + STATE_PROTECTED | STATE_UNAVAILABLE, + EXT_STATE_SUPPORTS_AUTOCOMPLETION, + "readonly textbox"); + + ////////////////////////////////////////////////////////////////////////// + // Disabled textbox + testStates(getInput("disabled_textbox"), + STATE_UNAVAILABLE, + EXT_STATE_EDITABLE, + STATE_FOCUSABLE | STATE_PROTECTED, + EXT_STATE_SUPPORTS_AUTOCOMPLETION, + "readonly textbox"); + + ////////////////////////////////////////////////////////////////////////// + // Readonly textarea + testStates(getInput("readonly_textarea"), + STATE_FOCUSABLE | STATE_READONLY, + EXT_STATE_EDITABLE | EXT_STATE_MULTI_LINE, + STATE_PROTECTED | STATE_UNAVAILABLE, + EXT_STATE_SUPPORTS_AUTOCOMPLETION, + "readonly multiline textbox"); + + ////////////////////////////////////////////////////////////////////////// + // Disabled textarea + testStates(getInput("disabled_textarea"), + STATE_UNAVAILABLE, + EXT_STATE_EDITABLE| EXT_STATE_MULTI_LINE, + STATE_PROTECTED | STATE_FOCUSABLE, + EXT_STATE_SUPPORTS_AUTOCOMPLETION, + "readonly multiline textbox"); + + ////////////////////////////////////////////////////////////////////////// + // Search textbox without search button, searches as you type and filters + // a separate control. + testStates(getInput("searchbox"), + STATE_FOCUSABLE, + EXT_STATE_EDITABLE | EXT_STATE_SUPPORTS_AUTOCOMPLETION, + STATE_PROTECTED | STATE_UNAVAILABLE, + 0, + "searchbox"); + + ////////////////////////////////////////////////////////////////////////// + // Search textbox with search button, does not support autoCompletion. + testStates(getInput("searchfield"), + STATE_FOCUSABLE, + EXT_STATE_EDITABLE, + STATE_PROTECTED | STATE_UNAVAILABLE, + EXT_STATE_SUPPORTS_AUTOCOMPLETION, + "searchfield"); + + SimpleTest.finish(); + } + + SimpleTest.waitForExplicitFinish(); + addA11yLoadEvent(doTest); + ]]> + </script> + + <hbox flex="1" style="overflow: auto;"> + + <body xmlns="http://www.w3.org/1999/xhtml"> + <a target="_blank" + href="https://bugzilla.mozilla.org/show_bug.cgi?id=442648"> + Mozilla Bug 442648 + </a> + <a target="_blank" + href="https://bugzilla.mozilla.org/show_bug.cgi?id=648235" + title="XUL textbox can inherit more states from underlying HTML input"> + Mozilla Bug 648235 + </a> + <p id="display"></p> + <div id="content" style="display: none"></div> + <pre id="test"> + </pre> + </body> + + <vbox flex="1"> + <textbox id="textbox"/> + <textbox id="password" type="password"/> + <textbox id="textarea" multiline="true" cols="80" rows="5"/> + + <textbox id="readonly_textbox" readonly="true"/> + <textbox id="disabled_textbox" disabled="true"/> + <textbox id="readonly_textarea" multiline="true" readonly="true" + cols="80" rows="5"/> + <textbox id="disabled_textarea" multiline="true" disabled="true" + cols="80" rows="5"/> + + <textbox id="searchbox" flex="1" type="search" results="historyTree"/> + <textbox id="searchfield" placeholder="Search all add-ons" + type="search" searchbutton="true"/> + </vbox> + </hbox> +</window> |