accessible/tests/mochitest/tree/test_txtctrl.xul

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 <?xml version="1.0"?>
     2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?>
     3 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
     4                  type="text/css"?>
     6 <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
     7         title="Accessible XUL textbox and textarea hierarchy tests">
     9   <script type="application/javascript"
    10           src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
    12   <script type="application/javascript"
    13           src="../common.js" />
    14   <script type="application/javascript"
    15           src="../role.js" />
    16   <script type="application/javascript"
    17           src="../events.js" />
    19   <script type="application/javascript">
    20   <![CDATA[
    21     ////////////////////////////////////////////////////////////////////////////
    22     // Test
    24     function doTest()
    25     {
    26       //////////////////////////////////////////////////////////////////////////
    27       // textboxes
    29       var accTree =
    30         { SECTION: [
    31           { ENTRY: [ { TEXT_LEAF: [] } ] },
    32           { MENUPOPUP: [] }
    33         ] };
    35       // default textbox
    36       testAccessibleTree("txc", accTree);
    38       // multiline
    39       testAccessibleTree("txc_multiline", accTree);
    41       //////////////////////////////////////////////////////////////////////////
    42       // search textbox
    44       if (MAC) {
    45         accTree =
    46           { SECTION: [
    47             { ENTRY: [ { TEXT_LEAF: [] } ] },
    48             { MENUPOPUP: [] }
    49           ] };
    50       } else {
    51         accTree =
    52           { SECTION: [
    53             { ENTRY: [ { TEXT_LEAF: [] } ] },
    54             { PUSHBUTTON: [] },
    55             { MENUPOPUP: [] }
    56           ] };
    57       }
    59       testAccessibleTree("txc_search", accTree);
    61       //////////////////////////////////////////////////////////////////////////
    62       // number textbox
    64       accTree =
    65         { SECTION: [
    66           { ENTRY: [ { TEXT_LEAF: [] } ] },
    67           { MENUPOPUP: [] },
    68           { PUSHBUTTON: [] },
    69           { PUSHBUTTON: [] }
    70         ] };
    72       testAccessibleTree("txc_number", accTree);
    74       //////////////////////////////////////////////////////////////////////////
    75       // password textbox
    77       accTree =
    78         { SECTION: [
    79           { PASSWORD_TEXT: [ { TEXT_LEAF: [] } ] },
    80           { MENUPOPUP: [] }
    81         ] };
    83       testAccessibleTree("txc_password", accTree);
    85       //////////////////////////////////////////////////////////////////////////
    86       // autocomplete textbox
    88       accTree = {
    89         // textbox
    90         role: ROLE_AUTOCOMPLETE,
    91         children: [
    92           {
    93             // html:input
    94             role: ROLE_ENTRY,
    95             children: [
    96               {
    97                 // #text
    98                 role: ROLE_TEXT_LEAF,
    99                 children: []
   100               }
   101             ]
   102           },
   103           {
   104             // xul:menupopup
   105             role: ROLE_COMBOBOX_LIST,
   106             children: []
   107           }
   108         ]
   109       };
   111       function test_AutocompleteControl() {
   112         testAccessibleTree("txc_autocomplete", accTree);
   113         SimpleTest.finish();
   114       }
   116       // XPFE and Toolkit autocomplete widgets differ.
   117       var txc = document.getElementById("txc_autocomplete");
   118       if ("clearResults" in txc) {
   119         SimpleTest.ok(true, "Testing (Old) XPFE autocomplete widget.");
   121         // Popup is always created. (See code below.)
   123         accTree.children.push(
   124           {
   125             // xul:panel
   126             role: ROLE_COMBOBOX_LIST,
   127             children: [
   128               {
   129                 // xul:tree
   130                 role: ROLE_TABLE,
   131                 children: [
   132                   {
   133                     // xul:treecols
   134                     role: ROLE_LIST,
   135                     children: [
   136                       {
   137                         // xul:treecol
   138                         role: ROLE_COLUMNHEADER,
   139                         children: []
   140                       }
   141                     ]
   142                   }
   143                 ]
   144               }
   145             ]
   146           }
   147         );
   148         test_AutocompleteControl();
   150       } else {
   151         SimpleTest.ok(true, "Testing (New) Toolkit autocomplete widget.");
   153         // Dumb access to trigger popup lazy creation.
   154         waitForEvent(EVENT_REORDER, txc, test_AutocompleteControl);
   155         txc.popup;
   157         accTree.children.push(
   158           {
   159             role: ROLE_LIST,
   160             children: [
   161               {
   162                 role: ROLE_LIST,
   163                 children: [
   164                   {
   165                     role: ROLE_COLUMNHEADER,
   166                     children: []
   167                   }
   168                 ]
   169               }
   170             ]
   171           }
   172         );
   173       }
   174     }
   176     SimpleTest.waitForExplicitFinish();
   177     addA11yLoadEvent(doTest);
   178   ]]>
   179   </script>
   181   <hbox flex="1" style="overflow: auto;">
   182     <body xmlns="http://www.w3.org/1999/xhtml">
   183       <a target="_blank"
   184          href="https://bugzilla.mozilla.org/show_bug.cgi?id=542824"
   185          title="Create child accessibles for text controls from native anonymous content">
   186         Mozilla Bug 542824
   187       </a><br/>
   188       <p id="display"></p>
   189       <div id="content" style="display: none">
   190       </div>
   191       <pre id="test">
   192       </pre>
   193     </body>
   195     <vbox flex="1">
   196       <textbox id="txc" value="hello"/>
   197       <textbox id="txc_search" type="search" value="hello"/>
   198       <textbox id="txc_number" type="number" value="44"/>
   199       <textbox id="txc_password" type="password" value="hello"/>
   200       <textbox id="txc_multiline" multiline="true" value="hello"/>
   201       <textbox id="txc_autocomplete" type="autocomplete" value="hello"/>
   202     </vbox>
   203   </hbox>
   205 </window>

mercurial