OLD | NEW |
---|---|
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <head> | 2 <head> |
3 <script src="../../../resources/js-test.js"></script> | 3 <script src="../../../resources/js-test.js"></script> |
4 </head> | 4 </head> |
5 <button id="button" style="height: 100px; width: 100px;"> | 5 <button id="button" style="height: 100px; width: 100px;"> |
6 </button> | 6 </button> |
7 <button id="button_with_contextmenu" contextmenu="menu_id" style="height: 100px; width: 100px;"> | 7 <button id="button_with_contextmenu" contextmenu="menu_id" style="height: 100px; width: 100px;"> |
8 <menu id="menu_id" type="PopUp"> | 8 <menu id="menu_id" type="PopUp"> |
9 <!-- Test removal of separator at the start. --> | 9 <!-- Test removal of separator at the start. --> |
10 <hr> | 10 <hr> |
11 <menuitem label="Item1"></menuitem> | 11 <menuitem label="Item1"> |
tkent
2014/11/12 07:17:21
Please don't change lines unrelated to the subject
pals
2014/11/12 09:30:05
Done.
| |
12 <menuitem label="Item2"></menuitem> | 12 <menuitem label="Item2"> |
13 <!-- Test addition of separator for <hr>. --> | 13 <!-- Test addition of separator for <hr>. --> |
14 <hr> | 14 <hr> |
15 <menuitem label="Item3"></menuitem> | 15 <menuitem label="Item3"> |
16 <!-- Test child menu with label. --> | 16 <!-- Test child menu with label. --> |
17 <menu label="Submenu"> | 17 <menu label="Submenu"> |
18 <menuitem label="Item4"></menuitem> | 18 <menuitem label="Item4"> |
19 <menu label="Deeper submenu"> | 19 <menu label="Deeper submenu"> |
20 <!-- Test removal of separator at the start inside submenu. --> | 20 <!-- Test removal of separator at the start inside submenu. --> |
21 <hr> | 21 <hr> |
22 <menuitem label="Item5"></menuitem> | 22 <menuitem label="Item5"> |
23 <hr> | 23 <hr> |
24 <menuitem label="Item6"></menuitem> | 24 <menuitem label="Item6"> |
25 <!-- Test removal of separator at the end inside submenu. --> | 25 <!-- Test removal of separator at the end inside submenu. --> |
26 <hr> | 26 <hr> |
27 </menu> | 27 </menu> |
28 </menu> | 28 </menu> |
29 <menuitem label="Item7"></menuitem> | 29 <menuitem label="Item7"> |
30 <!-- Test child menu without label. --> | 30 <!-- Test child menu without label. --> |
31 <menu> | 31 <menu> |
32 <menuitem label="Item8"></menuitem> | 32 <menuitem label="Item8"> |
33 <!-- Test child menu with empty label. --> | 33 <!-- Test child menu with empty label. --> |
34 <menu label=""> | 34 <menu label=""> |
35 <menuitem label="Item9"></menuitem> | 35 <menuitem label="Item9"> |
36 <menuitem label="Item10"></menuitem> | 36 <menuitem label="Item10"> |
37 </menu> | 37 </menu> |
38 <menuitem label="Item11"></menuitem> | 38 <menuitem label="Item11"> |
39 <menuitem label="Item12"></menuitem> | 39 <menuitem label="Item12"> |
40 </menu> | 40 </menu> |
41 <!-- Test collapsing two or more adjacent separators. --> | 41 <!-- Test collapsing two or more adjacent separators. --> |
42 <hr> | 42 <hr> |
43 <hr> | 43 <hr> |
44 <hr> | 44 <hr> |
45 <hr> | 45 <hr> |
46 <!-- Test menuitem menu without label. --> | 46 <!-- Test menuitem menu without label. --> |
47 <menuitem></menuitem> | 47 <menuitem> |
48 <!-- Test menuitem menu with empty label. --> | 48 <!-- Test menuitem menu with empty label. --> |
49 <menuitem label=""></menuitem> | 49 <menuitem label=""> |
50 <menuitem label="Item13"></menuitem> | 50 <menuitem label="Item13"> |
51 <!-- Test removal of separator at the end. --> | 51 <!-- Test removal of separator at the end. --> |
52 <hr> | 52 <hr> |
53 </menu> | 53 </menu> |
54 </button> | 54 </button> |
55 <!-- Test with menu element without type attribute specified. --> | 55 <!-- Test with menu element without type attribute specified. --> |
56 <button id="button_1" contextmenu="menu_without_type" style="height: 100px; widt h: 100px;"> | 56 <button id="button_1" contextmenu="menu_without_type" style="height: 100px; widt h: 100px;"> |
57 <menu id="menu_without_type"> | 57 <menu id="menu_without_type"> |
58 <menuitem label="Item1"></menuitem> | 58 <menuitem label="Item1"> |
59 <menuitem label="Item2"></menuitem> | 59 <menuitem label="Item2"> |
60 <menuitem label="Item3"></menuitem> | 60 <menuitem label="Item3"> |
61 </menu> | 61 </menu> |
62 </button> | 62 </button> |
63 <!-- Test cancelling show event. --> | 63 <!-- Test cancelling show event. --> |
64 <button id="button_2" contextmenu="menu_2" style="height: 100px; width: 100px;"> | 64 <button id="button_2" contextmenu="menu_2" style="height: 100px; width: 100px;"> |
65 <menu id="menu_2" type="popup"> | 65 <menu id="menu_2" type="popup"> |
66 <menuitem label="Item1"></menuitem> | 66 <menuitem label="Item1"> |
67 <menuitem label="Item2"></menuitem> | 67 <menuitem label="Item2"> |
68 <menuitem label="Item3"></menuitem> | 68 <menuitem label="Item3"> |
69 </menu> | 69 </menu> |
70 </button> | 70 </button> |
71 <!-- Test removing menu element inside show event handler. --> | 71 <!-- Test removing menu element inside show event handler. --> |
72 <button id="button_3" contextmenu="menu_3" style="height: 100px; width: 100px;"> | 72 <button id="button_3" contextmenu="menu_3" style="height: 100px; width: 100px;"> |
73 <menu id="menu_3" type="popup"> | 73 <menu id="menu_3" type="popup"> |
74 <menuitem label="Item1"></menuitem> | 74 <menuitem label="Item1"> |
75 <menuitem label="Item2"></menuitem> | 75 <menuitem label="Item2"> |
76 <menuitem label="Item3"></menuitem> | 76 <menuitem label="Item3"> |
77 </menu> | 77 </menu> |
78 </button> | 78 </button> |
79 <!-- Test with menu element without any children. --> | 79 <!-- Test with menu element without any children. --> |
80 <button id="button_4" contextmenu="menu_4" style="height: 100px; width: 100px;"> | 80 <button id="button_4" contextmenu="menu_4" style="height: 100px; width: 100px;"> |
81 <menu id="menu_4" type="popup"> | 81 <menu id="menu_4" type="popup"> |
82 </menu> | 82 </menu> |
83 </button> | 83 </button> |
84 <!-- Test if an element A has a parent element, then A's assigned context menu i s the assigned context menu of its parent element. --> | |
85 <div contextmenu="menu_5"> | |
86 <div> | |
87 <button id="button_5" style="height: 100px; width: 100px;"></button> | |
88 </div> | |
89 <menu id="menu_5" type="popup"> | |
90 <menuitem label="Item1"> | |
91 <menuitem label="Item2"> | |
92 <menuitem label="Item3"> | |
93 </menu> | |
94 </div> | |
84 <script> | 95 <script> |
85 if (!window.eventSender) | 96 if (!window.eventSender) |
86 debug("This test requires window.eventSender.") | 97 debug("This test requires window.eventSender.") |
87 | 98 |
88 function contextClickAndGetMenuItems(element) { | 99 function contextClickAndGetMenuItems(element) { |
89 var x = element.offsetParent.offsetLeft + element.offsetLeft + 4; | 100 var x = element.offsetParent.offsetLeft + element.offsetLeft + 4; |
90 var y = element.offsetParent.offsetTop + element.offsetTop + element.offsetH eight / 2; | 101 var y = element.offsetParent.offsetTop + element.offsetTop + element.offsetH eight / 2; |
91 eventSender.mouseMoveTo(x, y); | 102 eventSender.mouseMoveTo(x, y); |
92 return eventSender.contextClick(); | 103 return eventSender.contextClick(); |
93 } | 104 } |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
129 var button3 = document.getElementById("button_3"); | 140 var button3 = document.getElementById("button_3"); |
130 document.getElementById("menu_3").addEventListener("show", removeMenu, false); | 141 document.getElementById("menu_3").addEventListener("show", removeMenu, false); |
131 var items3 = contextClickAndGetMenuItems(button3); | 142 var items3 = contextClickAndGetMenuItems(button3); |
132 | 143 |
133 // Esc key to hide the context menu. | 144 // Esc key to hide the context menu. |
134 eventSender.keyDown("escape"); | 145 eventSender.keyDown("escape"); |
135 | 146 |
136 var button4 = document.getElementById("button_4"); | 147 var button4 = document.getElementById("button_4"); |
137 var items4 = contextClickAndGetMenuItems(button4); | 148 var items4 = contextClickAndGetMenuItems(button4); |
138 | 149 |
150 // Esc key to hide the context menu. | |
151 eventSender.keyDown("escape"); | |
152 | |
153 var button5 = document.getElementById("button_5"); | |
tkent
2014/11/12 07:17:21
Should have a test for button5.contextMenu IDL att
pals
2014/11/12 09:30:05
Done.
| |
154 var items5 = contextClickAndGetMenuItems(button5); | |
155 | |
139 shouldBeEqualToNumber("itemsWithCustomContextMenu.length - items.length", 17); | 156 shouldBeEqualToNumber("itemsWithCustomContextMenu.length - items.length", 17); |
140 shouldBeEqualToString("itemsWithCustomContextMenu[0]", "Item1"); | 157 shouldBeEqualToString("itemsWithCustomContextMenu[0]", "Item1"); |
141 shouldBeEqualToString("itemsWithCustomContextMenu[1]", "Item2"); | 158 shouldBeEqualToString("itemsWithCustomContextMenu[1]", "Item2"); |
142 shouldBeEqualToString("itemsWithCustomContextMenu[2]", "---------"); | 159 shouldBeEqualToString("itemsWithCustomContextMenu[2]", "---------"); |
143 shouldBeEqualToString("itemsWithCustomContextMenu[3]", "Item3"); | 160 shouldBeEqualToString("itemsWithCustomContextMenu[3]", "Item3"); |
144 shouldBeEqualToString("itemsWithCustomContextMenu[4]", "Submenu >"); | 161 shouldBeEqualToString("itemsWithCustomContextMenu[4]", "Submenu >"); |
145 shouldBeEqualToString("itemsWithCustomContextMenu[5]", "_Item4"); | 162 shouldBeEqualToString("itemsWithCustomContextMenu[5]", "_Item4"); |
146 shouldBeEqualToString("itemsWithCustomContextMenu[6]", "_Deeper submenu >"); | 163 shouldBeEqualToString("itemsWithCustomContextMenu[6]", "_Deeper submenu >"); |
147 shouldBeEqualToString("itemsWithCustomContextMenu[7]", "__Item5"); | 164 shouldBeEqualToString("itemsWithCustomContextMenu[7]", "__Item5"); |
148 shouldBeEqualToString("itemsWithCustomContextMenu[8]", "__---------"); | 165 shouldBeEqualToString("itemsWithCustomContextMenu[8]", "__---------"); |
149 shouldBeEqualToString("itemsWithCustomContextMenu[9]", "__Item6"); | 166 shouldBeEqualToString("itemsWithCustomContextMenu[9]", "__Item6"); |
150 shouldBeEqualToString("itemsWithCustomContextMenu[10]", "Item7"); | 167 shouldBeEqualToString("itemsWithCustomContextMenu[10]", "Item7"); |
151 shouldBeEqualToString("itemsWithCustomContextMenu[11]", "---------"); | 168 shouldBeEqualToString("itemsWithCustomContextMenu[11]", "---------"); |
152 shouldBeEqualToString("itemsWithCustomContextMenu[12]", "Item8"); | 169 shouldBeEqualToString("itemsWithCustomContextMenu[12]", "Item8"); |
153 shouldBeEqualToString("itemsWithCustomContextMenu[13]", "Item11"); | 170 shouldBeEqualToString("itemsWithCustomContextMenu[13]", "Item11"); |
154 shouldBeEqualToString("itemsWithCustomContextMenu[14]", "Item12"); | 171 shouldBeEqualToString("itemsWithCustomContextMenu[14]", "Item12"); |
155 shouldBeEqualToString("itemsWithCustomContextMenu[15]", "---------"); | 172 shouldBeEqualToString("itemsWithCustomContextMenu[15]", "---------"); |
156 shouldBeEqualToString("itemsWithCustomContextMenu[16]", "Item13"); | 173 shouldBeEqualToString("itemsWithCustomContextMenu[16]", "Item13"); |
157 shouldBeEqualToNumber("items1.length - items.length", 0); | 174 shouldBeEqualToNumber("items1.length - items.length", 0); |
158 shouldBeEqualToNumber("items2.length - items.length", 0); | 175 shouldBeEqualToNumber("items2.length - items.length", 0); |
159 shouldBeEqualToNumber("items3.length - items.length", 0); | 176 shouldBeEqualToNumber("items3.length - items.length", 0); |
160 shouldBeEqualToNumber("items4.length - items.length", 0); | 177 shouldBeEqualToNumber("items4.length - items.length", 0); |
178 shouldBeEqualToNumber("items5.length - items.length", 3); | |
179 shouldBeEqualToString("items5[0]", "Item1"); | |
180 shouldBeEqualToString("items5[1]", "Item2"); | |
181 shouldBeEqualToString("items5[2]", "Item3"); | |
161 | 182 |
162 </script> | 183 </script> |
OLD | NEW |