summaryrefslogtreecommitdiffstats
path: root/accessible/tests/mochitest/actions/test_general.xul
blob: 14d8bb0d0ff7590ce7bcfaaaa467a139fce81d41 (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
<?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"
        title="nsIAccessible actions testing">

  <script type="application/javascript"
          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">
  <![CDATA[
    //gA11yEventDumpToConsole = true;
    //enableLogging("tree,verbose"); // debug

    if (navigator.platform.startsWith("Mac")) {
      SimpleTest.expectAssertions(0, 1);
    } else {
      SimpleTest.expectAssertions(0, 1);
    }

    function doTest()
    {
      var actionsArray = [
        {
          ID: "menu",
          actionName: "click",
          events: CLICK_EVENTS,
          // Wait for focus event, it guarantees us the submenu tree is created,
          // that's necessary for next test.
          eventSeq: [
            new invokerChecker(EVENT_FOCUS, getNode("menu"))
          ]
        },
        {
          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
        }/*, // 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"
         href="https://bugzilla.mozilla.org/show_bug.cgi?id=410765"
         title="nsIAccessible actions testing">
        Mozilla Bug 410765
      </a>
      <a target="_blank"
         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"/>
        <textbox id="name_entry"/>
      </hbox>
    </vbox>
  </hbox>
</window>