OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <body> |
3 <style> | 3 <script src="../../../resources/testharness.js"></script> |
4 div { font-weight: bold; } | 4 <script src="../../../resources/testharnessreport.js"></script> |
5 </style> | 5 <div id="log"></div> |
6 | 6 |
7 </head> | |
8 | |
9 <body> | |
10 This will test that radio buttons can be moved in and out of forms while maintai
ning only one checked button per group, per form. | |
11 <br> | |
12 Test 1: Transfer radio buttons from <body> to <form>: | |
13 <input type="radio" name="group1" id="radio1" checked="checked"> | 7 <input type="radio" name="group1" id="radio1" checked="checked"> |
14 <input type="radio" name="group1" id="radio2"> | 8 <input type="radio" name="group1" id="radio2"> |
15 <form id="test1"> | 9 <form id="test1"> |
16 </form> | 10 </form> |
17 <div id="result1">Test 1 Failed</div> | 11 |
18 <br> | |
19 Test 2: Transfer radio buttons from <form> to <body>: | |
20 <form> | 12 <form> |
21 <input type="radio" name="group2" id="radio3" checked="checked"> | 13 <input type="radio" name="group2" id="radio3" checked="checked"> |
22 <input type="radio" name="group2" id="radio4"> | 14 <input type="radio" name="group2" id="radio4"> |
23 </form> | 15 </form> |
24 <div id="result2">Test 2 Failed</div> | 16 |
25 <br> | |
26 Test 3: Transfer radio buttons from <form> to <body> with a dormant
state in the middle: | |
27 <form> | 17 <form> |
28 <input type="radio" name="group3" id="radio5" checked="checked"> | 18 <input type="radio" name="group3" id="radio5" checked="checked"> |
29 <input type="radio" name="group3" id="radio6"> | 19 <input type="radio" name="group3" id="radio6"> |
30 </form> | 20 </form> |
31 <div id="result3">Test 3 Failed</div> | 21 |
32 <br> | |
33 Test 4: Transfer from <form> to <form> | |
34 <form> | 22 <form> |
35 <input type="radio" name="group4" id="radio7" checked="checked" style="outline:1
px solid red"> | 23 <input type="radio" name="group4" id="radio7" checked="checked" style="outline:1
px solid red"> |
36 <input type="radio" name="group4" id="radio8" style="outline:1px solid blue"> | 24 <input type="radio" name="group4" id="radio8" style="outline:1px solid blue"> |
37 </form> | 25 </form> |
38 <form id="test4"> | 26 <form id="test4"> |
39 <input type="radio" name="group4" id="radio9" checked="checked" style="outline:1
px solid green"> | 27 <input type="radio" name="group4" id="radio9" checked="checked" style="outline:1
px solid green"> |
40 </form> | 28 </form> |
41 <div id="result4">Test 4 Failed</div> | |
42 | 29 |
43 <script> | 30 <script> |
44 if (window.testRunner) | 31 // This will test that radio buttons can be moved in and out of forms while |
45 testRunner.dumpAsText(); | 32 // maintaining only one checked button per group, per form. |
46 | 33 |
47 var radio1 = document.getElementById("radio1"); | 34 test(function() { |
48 var radio2 = document.getElementById("radio2"); | 35 var radio1 = document.getElementById("radio1"); |
49 var form = document.getElementById("test1"); | 36 var radio2 = document.getElementById("radio2"); |
50 var result1 = document.getElementById("result1"); | 37 var form = document.getElementById("test1"); |
51 form.appendChild(radio1); | 38 var result1 = document.getElementById("result1"); |
52 form.appendChild(radio2); | 39 form.appendChild(radio1); |
53 radio2.checked = true; | 40 form.appendChild(radio2); |
54 | 41 radio2.checked = true; |
55 var radio3 = document.getElementById("radio3"); | 42 assert_false(radio1.checked); |
56 var radio4 = document.getElementById("radio4"); | 43 assert_true(radio2.checked); |
57 document.body.appendChild(radio3); | 44 }, "Transfer radio buttons from <body> to <form>."); |
58 document.body.appendChild(radio4); | 45 |
59 radio4.checked = true; | 46 test(function() { |
60 | 47 var radio3 = document.getElementById("radio3"); |
61 var radio5 = document.getElementById("radio5"); | 48 var radio4 = document.getElementById("radio4"); |
62 var radio6 = document.getElementById("radio6"); | 49 document.body.appendChild(radio3); |
63 radio5.parentNode.removeChild(radio5); | 50 document.body.appendChild(radio4); |
64 radio6.parentNode.removeChild(radio6); | 51 radio4.checked = true; |
65 document.body.appendChild(radio5); | 52 assert_false(radio3.checked); |
66 document.body.appendChild(radio6); | 53 assert_true(radio4.checked); |
67 radio6.checked = true; | 54 }, "Transfer radio buttons from <form> to <body>."); |
68 | 55 |
69 var radio7 = document.getElementById("radio7"); | 56 test(function() { |
70 var radio8 = document.getElementById("radio8"); | 57 var radio5 = document.getElementById("radio5"); |
71 var radio9wasChecked = true; | 58 var radio6 = document.getElementById("radio6"); |
72 var form4 = document.getElementById("test4"); | 59 radio5.parentNode.removeChild(radio5); |
73 form4.appendChild(radio7); | 60 radio6.parentNode.removeChild(radio6); |
74 form4.appendChild(radio8); | 61 document.body.appendChild(radio5); |
75 radio9wasChecked = radio9.checked; | 62 document.body.appendChild(radio6); |
76 radio8.checked = true; | 63 radio6.checked = true; |
77 | 64 assert_false(radio5.checked); |
78 if (!radio1.checked && radio2.checked) | 65 assert_true(radio6.checked); |
79 result1.innerHTML = "Test 1 Passed"; | 66 }, "Transfer radio buttons from <form> to <body> with a dormant state in the mid
dle."); |
80 if (!radio3.checked && radio4.checked) | 67 |
81 result2.innerHTML = "Test 2 Passed"; | 68 test(function() { |
82 if (!radio5.checked && radio6.checked) | 69 var radio7 = document.getElementById("radio7"); |
83 result3.innerHTML = "Test 3 Passed"; | 70 var radio8 = document.getElementById("radio8"); |
84 if (!radio7.checked && radio8.checked && !radio9.checked && !radio9wasChecked) | 71 var radio9wasChecked = true; |
85 result4.innerHTML = "Test 4 Passed"; | 72 var form4 = document.getElementById("test4"); |
| 73 form4.appendChild(radio7); |
| 74 form4.appendChild(radio8); |
| 75 radio9wasChecked = radio9.checked; |
| 76 radio8.checked = true; |
| 77 assert_false(radio7.checked); |
| 78 assert_true(radio8.checked); |
| 79 assert_false(radio9.checked); |
| 80 assert_false(radio9wasChecked); |
| 81 }, "Transfer from <form> to <form>."); |
86 </script> | 82 </script> |
87 </body> | 83 </body> |
88 </html> | 84 </html> |
OLD | NEW |