1 | <!DOCTYPE html> |
---|
2 | <html> |
---|
3 | <head> |
---|
4 | <title>Menu Automated (non-robot) Tests</title> |
---|
5 | |
---|
6 | <script type="text/javascript" src="boilerplate.js"></script> |
---|
7 | |
---|
8 | <script type="text/javascript"> |
---|
9 | require([ |
---|
10 | "doh/runner", |
---|
11 | "dojo/dom", "dojo/dom-class", "dojo/on", "dojo/parser", "dojo/query", "dojo/domReady!", |
---|
12 | |
---|
13 | "dojo/NodeList-dom", // attr() |
---|
14 | "dijit/DropDownMenu", "dijit/RadioMenuItem", "dijit/MenuSeparator" // used by parser |
---|
15 | ], function(doh, dom, domClass, on, parser, query){ |
---|
16 | |
---|
17 | doh.register("parse", function parse(){ |
---|
18 | return parser.parse(); |
---|
19 | }); |
---|
20 | |
---|
21 | doh.register("RadioMenuItem", [ |
---|
22 | function click(){ |
---|
23 | // initial conditions |
---|
24 | doh.is("g1r2, g2r2", query(".dijitRadioMenuItemChecked").attr("id").join(", "), "initially checked"); |
---|
25 | |
---|
26 | // click to change selected value in group 1; group 2 shouldn't change |
---|
27 | on.emit(dom.byId("g1r3"), "click", {bubbles: true, cancelable: true}); |
---|
28 | doh.is("g1r3, g2r2", query(".dijitRadioMenuItemChecked").attr("id").join(", "), "clicked g1r3"); |
---|
29 | |
---|
30 | // click to change selected value in group 2; group 1 shouldn't change |
---|
31 | on.emit(dom.byId("g2r1"), "click", {bubbles: true, cancelable: true}); |
---|
32 | doh.is("g1r3, g2r1", query(".dijitRadioMenuItemChecked").attr("id").join(", "), "clicked g2r1"); |
---|
33 | |
---|
34 | // click currently selected node; shouldn't change anything |
---|
35 | on.emit(dom.byId("g1r3"), "click", {bubbles: true, cancelable: true}); |
---|
36 | doh.is("g1r3, g2r1", query(".dijitRadioMenuItemChecked").attr("id").join(", "), "clicked g1r3 again"); |
---|
37 | }, |
---|
38 | function set(){ |
---|
39 | // change selected item in group 1 |
---|
40 | g1r1.set("checked", true); |
---|
41 | doh.is("g1r1, g2r1", query(".dijitRadioMenuItemChecked").attr("id").join(", "), "set g2r1"); |
---|
42 | |
---|
43 | // clear selected item in group 1 |
---|
44 | g1r1.set("checked", false); |
---|
45 | doh.is("g2r1", query(".dijitRadioMenuItemChecked").attr("id").join(", "), "cleared g2r1"); |
---|
46 | } |
---|
47 | ]); |
---|
48 | |
---|
49 | doh.run(); |
---|
50 | }); |
---|
51 | </script> |
---|
52 | </head> |
---|
53 | <body class="claro"> |
---|
54 | <h1 class="testTitle">Menu Automated (non-robot) tests</h1> |
---|
55 | <div id="menu" data-dojo-type="dijit/DropDownMenu"> |
---|
56 | <div id="g1r1" data-dojo-id="g1r1" data-dojo-type="dijit/RadioMenuItem" |
---|
57 | data-dojo-props="group: 'g1'">red</div> |
---|
58 | <div id="g1r2" data-dojo-id="g1r2" data-dojo-type="dijit/RadioMenuItem" |
---|
59 | data-dojo-props="group: 'g1', checked:true">yellow</div> |
---|
60 | <div id="g1r3" data-dojo-id="g1r3" data-dojo-type="dijit/RadioMenuItem" |
---|
61 | data-dojo-props="group: 'g1', checked:false /*set to false for testing*/">green</div> |
---|
62 | <div data-dojo-type="dijit/MenuSeparator"></div> |
---|
63 | <div id="g2r1" data-dojo-id="g2r1" data-dojo-type="dijit/RadioMenuItem" |
---|
64 | data-dojo-props="group: 'g2'">small</div> |
---|
65 | <div id="g2r2" data-dojo-id="g2r2" data-dojo-type="dijit/RadioMenuItem" |
---|
66 | data-dojo-props="group: 'g2', checked:true">normal</div> |
---|
67 | <div id="g2r3" data-dojo-id="g2r3" data-dojo-type="dijit/RadioMenuItem" |
---|
68 | data-dojo-props="group: 'g2'">large</div> |
---|
69 | </div> |
---|
70 | </body> |
---|
71 | </html> |
---|