tizen beta release
[framework/web/webkit-efl.git] / LayoutTests / fast / forms / script-tests / ValidityState-valueMissing-radio.js
1 description('valueMissing tests for radio buttons');
2
3 var parent = document.createElement('div');
4 document.body.appendChild(parent);
5
6 debug('Without form element');
7 parent.innerHTML = '<input name=victim type=radio required>'
8     + '<input name=victim type=radio>'
9     + '<input name=victim type=radio>';
10 var inputs = document.getElementsByName('victim');
11 debug('No checked button:');
12 shouldBeTrue('inputs[0].validity.valueMissing');
13 // The following result should be false because the element does not have
14 // "required".  It conforms to HTML5, and this behavior has no practical
15 // problems.
16 shouldBeFalse('inputs[1].validity.valueMissing');
17 shouldBeFalse('inputs[2].validity.valueMissing');
18 debug('The second button has been checked:');
19 inputs[1].checked = true;
20 shouldBeFalse('inputs[0].validity.valueMissing');
21 shouldBeFalse('inputs[1].validity.valueMissing');
22 shouldBeFalse('inputs[2].validity.valueMissing');
23 debug('The first button has been checked:');
24 inputs[0].checked = true;
25 shouldBeFalse('inputs[0].validity.valueMissing');
26 shouldBeFalse('inputs[1].validity.valueMissing');
27 shouldBeFalse('inputs[2].validity.valueMissing');
28 debug('The third button has been checked:');
29 inputs[2].checked = true;
30 shouldBeFalse('inputs[0].validity.valueMissing');
31 shouldBeFalse('inputs[1].validity.valueMissing');
32 shouldBeFalse('inputs[2].validity.valueMissing');
33
34 debug('With form element');
35 parent.innerHTML = '<form>'
36     + '<input name=victim type=radio required>'
37     + '<input name=victim type=radio>'
38     + '<input name=victim type=radio>'
39     + '</form>';
40 inputs = document.getElementsByName('victim');
41 debug('No checked button:');
42 shouldBeTrue('inputs[0].validity.valueMissing');
43 // The following result should be false.
44 shouldBeFalse('inputs[1].validity.valueMissing');
45 shouldBeFalse('inputs[2].validity.valueMissing');
46 debug('The first button has been checked:');
47 inputs[0].checked = true;
48 shouldBeFalse('inputs[0].validity.valueMissing');
49 shouldBeFalse('inputs[1].validity.valueMissing');
50 shouldBeFalse('inputs[2].validity.valueMissing');
51 debug('The second button has been checked:');
52 inputs[1].checked = true;
53 shouldBeFalse('inputs[0].validity.valueMissing');
54 shouldBeFalse('inputs[1].validity.valueMissing');
55 shouldBeFalse('inputs[2].validity.valueMissing');
56 debug('The third button has been checked:');
57 inputs[2].checked = true;
58 shouldBeFalse('inputs[0].validity.valueMissing');
59 shouldBeFalse('inputs[1].validity.valueMissing');
60 shouldBeFalse('inputs[2].validity.valueMissing');