[Web GPU] GPURenderPassEncoder updates: setBlendColor, setViewport, setScissorRect
[WebKit-https.git] / LayoutTests / accessibility / select-element-at-index.html
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3 <head>
4 <script src="../resources/js-test-pre.js"></script>
5 </head>
6 <body id="body">
7
8 <select id="group" multiple="multiple">
9     <option>Option 1</option>
10     <option>Option 2</option>
11     <option>Option 3</option>
12     <option>Option 4</option>
13 </select>
14
15 <p id="description"></p>
16 <div id="console"></div>
17
18 <script>
19
20     description("Tests that checks whether setting selection at the given index works correctly");
21
22     if (window.accessibilityController) {
23         document.getElementById("group").focus();
24         var selectElement = accessibilityController.focusedElement;
25
26         shouldBe("selectElement.selectedChildrenCount", "0");
27
28         var option1 = selectElement.childAtIndex(0);
29         var option2 = selectElement.childAtIndex(1);
30         var option3 = selectElement.childAtIndex(2);
31         var option4 = selectElement.childAtIndex(3);
32
33         selectElement.setSelectedChildAtIndex(0);
34         shouldBe("selectElement.selectedChildrenCount", "1");
35         shouldBeTrue("option1.isSelected");
36         shouldBeTrue("selectElement.selectedChildAtIndex(0).isEqual(option1)");
37
38         selectElement.setSelectedChildAtIndex(1);
39         shouldBe("selectElement.selectedChildrenCount", "2");
40         shouldBeTrue("option2.isSelected");
41         shouldBeTrue("selectElement.selectedChildAtIndex(1).isEqual(option2)");
42
43         shouldBeFalse("option3.isSelected");
44
45         selectElement.setSelectedChildAtIndex(3);
46         shouldBe("selectElement.selectedChildrenCount", "3");
47         shouldBeTrue("option4.isSelected");
48
49         // The index expected by selectedChildAtIndex is with respect to the array of
50         // selected children; not the array of all children. The element whose text is
51         // "Option 4" is the third of three selected items, thus the index should be 2.
52         shouldBeTrue("selectElement.selectedChildAtIndex(2).isEqual(option4)");
53
54         // atk_selection_remove_selection() works like atk_selection_ref_selection()
55         // in that the index is with respect to the array of selected children; not
56         // the array of all children. Thus to remove the selection from "Option 4"
57         // in ATK, we again need to specify an index of 2.
58         if (accessibilityController.platformName == "atk") 
59             selectElement.removeSelectionAtIndex(2);
60         else
61             selectElement.removeSelectionAtIndex(3);
62         shouldBeFalse("option4.isSelected");
63         shouldBe("selectElement.selectedChildrenCount", "2");
64
65         selectElement.removeSelectionAtIndex(1);
66         shouldBeFalse("option2.isSelected");
67         shouldBe("selectElement.selectedChildrenCount", "1");
68
69         selectElement.removeSelectionAtIndex(0);
70         shouldBeFalse("option1.isSelected");
71         shouldBe("selectElement.selectedChildrenCount", "0");
72 }
73
74 </script>
75
76 <script src="../resources/js-test-post.js"></script>
77 </body>
78 </html>