<html>
<body>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<div id="log"></div>
<input type="radio" name="group1" id="radio1" checked="checked">
<input type="radio" name="group1" id="radio2">
<form id="test1">
</form>
<form>
<input type="radio" name="group2" id="radio3" checked="checked">
<input type="radio" name="group2" id="radio4">
</form>
<form>
<input type="radio" name="group3" id="radio5" checked="checked">
<input type="radio" name="group3" id="radio6">
</form>
<form>
<input type="radio" name="group4" id="radio7" checked="checked" style="outline:1px solid red">
<input type="radio" name="group4" id="radio8" style="outline:1px solid blue">
</form>
<form id="test4">
<input type="radio" name="group4" id="radio9" checked="checked" style="outline:1px solid green">
</form>
<script>
// This will test that radio buttons can be moved in and out of forms while
// maintaining only one checked button per group, per form.
test(function() {
var radio1 = document.getElementById("radio1");
var radio2 = document.getElementById("radio2");
var form = document.getElementById("test1");
var result1 = document.getElementById("result1");
form.appendChild(radio1);
form.appendChild(radio2);
radio2.checked = true;
assert_false(radio1.checked);
assert_true(radio2.checked);
}, "Transfer radio buttons from <body> to <form>.");
test(function() {
var radio3 = document.getElementById("radio3");
var radio4 = document.getElementById("radio4");
document.body.appendChild(radio3);
document.body.appendChild(radio4);
radio4.checked = true;
assert_false(radio3.checked);
assert_true(radio4.checked);
}, "Transfer radio buttons from <form> to <body>.");
test(function() {
var radio5 = document.getElementById("radio5");
var radio6 = document.getElementById("radio6");
radio5.parentNode.removeChild(radio5);
radio6.parentNode.removeChild(radio6);
document.body.appendChild(radio5);
document.body.appendChild(radio6);
radio6.checked = true;
assert_false(radio5.checked);
assert_true(radio6.checked);
}, "Transfer radio buttons from <form> to <body> with a dormant state in the middle.");
test(function() {
var radio7 = document.getElementById("radio7");
var radio8 = document.getElementById("radio8");
var radio9wasChecked = true;
var form4 = document.getElementById("test4");
form4.appendChild(radio7);
form4.appendChild(radio8);
radio9wasChecked = radio9.checked;
radio8.checked = true;
assert_false(radio7.checked);
assert_true(radio8.checked);
assert_false(radio9.checked);
assert_false(radio9wasChecked);
}, "Transfer from <form> to <form>.");
</script>
</body>
</html>