summaryrefslogtreecommitdiffstats
path: root/accessible/tests/mochitest/actions/test_general.xhtml
blob: 5b376b9624941f9ce4920213b38c1ac33f86a76b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<?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"?>
<?xml-stylesheet href="../nsIAccessible_name.css"
                 type="text/css"?>


<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        xmlns:html="http://www.w3.org/1999/xhtml"
        title="nsIAccessible actions testing">

  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />

  <script type="application/javascript"
          src="../common.js" />
  <script type="application/javascript"
          src="../events.js" />
  <script type="application/javascript"
          src="../actions.js" />
  <script type="application/javascript"
          src="../role.js" />
  <script type="application/javascript"
          src="../states.js" />

  <script type="application/javascript">
  <![CDATA[
    //gA11yEventDumpToConsole = true;
    //enableLogging("tree,verbose"); // debug

    SimpleTest.expectAssertions(0, 1);

    function doTest()
    {
      var actionsArray = [
        {
          ID: "menu",
          actionName: "click",
          events: CLICK_EVENTS,
          // Wait for the submenu to show up.
          eventSeq: [
            new invokerChecker(EVENT_SHOW, getNode("submenu"))
          ]
        },
        {
          ID: "submenu",
          actionName: "click",
          events: CLICK_EVENTS
        },
        {
          ID: "menuitem",
          actionName: "click",
          events: XUL_EVENTS
        },
        {
          ID: "button",
          actionName: "press",
          events: XUL_EVENTS
        },
        {
          ID: "buttonmenu",
          actionName: "press",
          events: CLICK_EVENTS
        },
        {
          ID: "name_entry_label",
          actionName: "click",
          events: CLICK_EVENTS
        },
        {
          ID: "labelWithPopup",
          actionName: "click",
          events: CLICK_EVENTS
        },
        {
          ID: "toolbarbutton_label",
          actionName: "click",
          targetID: "toolbarbutton",
          events: XUL_EVENTS,
          allowBubbling: true
        },
        {
          ID: "menulist_label",
          actionName: "click",
          // focusChecker expects a unique focus event. However, there might
          // still be pending focus events not caught by previous tests.
          eventSeq: [
            new invokerChecker(EVENT_FOCUS, getNode("menulist"))
          ]
        }/*, // XXX: bug 490288
        {
          ID: "buttonmenu_item",
          actionName: "click",
          events: CLICK_EVENTS
        }*/
      ];

      is(getAccessible("name_entry_label").firstChild.actionCount, 1, "label text should have 1 action");

      testActions(actionsArray);
    }

    SimpleTest.waitForExplicitFinish();
    addA11yLoadEvent(doTest);
  ]]>
  </script>

  <hbox flex="1" style="overflow: auto;">
    <body xmlns="http://www.w3.org/1999/xhtml">
      <a target="_blank" rel="opener"
         href="https://bugzilla.mozilla.org/show_bug.cgi?id=410765"
         title="nsIAccessible actions testing">
        Mozilla Bug 410765
      </a>
      <a target="_blank" rel="opener"
         href="https://bugzilla.mozilla.org/show_bug.cgi?id=504252"
         title="Expose STATE_HASPOPUP on XUL elements that have an @popup attribute">
        Mozilla Bug 504252
      </a><br/>
      <p id="display"></p>
      <div id="content" style="display: none">
      </div>
      <pre id="test">
      </pre>
    </body>

    <vbox flex="1">
      <menubar>
        <menu label="menu" id="menu">
          <menupopup>
            <menuitem label="menu item" id="menuitem"/>
            <menu label="submenu" id="submenu">
              <menupopup>
                <menuitem label="menu item"/>
              </menupopup>
            </menu>
          </menupopup>
        </menu>
      </menubar>

      <button label="button" id="button"/>

      <button type="menu" id="buttonmenu" label="button">
        <menupopup>
          <menuitem label="item1" id="buttonmenu_item"/>
          <menuitem label="item1"/>
        </menupopup>
      </button>

      <label id="labelWithPopup" value="file name"
             popup="fileContext"
             tabindex="0"/>
      <hbox>
        <label id="name_entry_label" value="Name" control="name_entry"/>
        <html:input id="name_entry"/>
      </hbox>
      <toolbarbutton id="toolbarbutton">
        <label id="toolbarbutton_label">toolbarbutton</label>
      </toolbarbutton>
      <hbox>
        <label id="menulist_label" control="menulist">menulist</label>
        <menulist id="menulist"/>
      </hbox>
    </vbox>
  </hbox>
</window>