5 <p>Test for
<a href=
"https://bugs.webkit.org/show_bug.cgi?id=32013">https://bugs.webkit.org/show_bug.cgi?id=
32013</a>.
7 <p>For manual testing, focus a radio button in the first group and use the arrow keys. Changing the checked
8 radio button should fire change events.
11 <input type=radio name=aaa value=a checked
onchange=
"handleChange(event)" onclick=
"handleClick(event)">a
12 <input type=radio name=aaa value=b
onchange=
"handleChange(event)" onclick=
"handleClick(event)">b
13 <input type=radio name=aaa value=c
onchange=
"handleChange(event)" onclick=
"handleClick(event)">c
15 <p>For manual testing, focus a radio button in the second group and use the arrow keys. Change events
16 should still be dispatched but the checked radio should not change.
19 <input type=radio name=bbb value=d checked
onchange=
"handleChange(event)" onclick=
"handleClick(event)">d
20 <input type=radio name=bbb value=e
onchange=
"handleChange(event)" onclick=
"handleClick(event)">e
21 <input type=radio name=bbb value=f
onchange=
"handleChange(event)" onclick=
"handleClick(event)">f
27 var preventClickValues
= 'def';
29 function handleChange(e
)
31 var value
= e
.target
.value
;
32 print(value
+ ' dispatched change event');
35 function handleClick(e
)
37 var value
= e
.target
.value
;
38 if (preventClickValues
.indexOf(value
) !== -1)
44 document
.getElementById('out').textContent
+= s
+ '\n';
55 function getRadio(value
)
57 return document
.querySelector('input[value="' + value
+ '"]');
60 function assertChecked(value
)
62 if (getRadio(value
).checked
)
63 pass(value
+ ' is checked');
65 fail(value
+ ' should be checked');
68 function assertNotChecked(value
)
70 if (!getRadio(value
).checked
)
71 pass(value
+ ' is not checked');
73 fail(value
+ ' should not be checked');
76 if (window
.testRunner
)
77 testRunner
.dumpAsText();
79 if (window
.eventSender
) {
80 getRadio('a').focus();
81 eventSender
.keyDown('downArrow');
82 eventSender
.keyDown('downArrow');
84 getRadio('d').focus();
85 eventSender
.keyDown('downArrow');
86 eventSender
.keyDown('downArrow');
88 assertNotChecked('a');
89 assertNotChecked('b');
93 assertNotChecked('e');
94 assertNotChecked('f');