This test checks the form attribute of the form-associated elements.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


- Checks the existence of the form attribute for each form-associated elements.
PASS document.getElementsByTagName("button")[0].form is owner
PASS document.getElementsByTagName("fieldset")[0].form is owner
PASS document.getElementsByTagName("input")[0].form is owner
PASS document.getElementsByTagName("keygen")[0].form is owner
PASS document.getElementsByTagName("label")[0].form is null
PASS document.getElementsByTagName("object")[0].form is owner
PASS document.getElementsByTagName("output")[0].form is owner
PASS document.getElementsByTagName("select")[0].form is owner
PASS document.getElementsByTagName("textarea")[0].form is owner

- Ensures that the form attribute points the form owner even if the element is within another form element.
PASS inputElement.form is owner
PASS labelElement.form is owner

- Ensures that the form attribute of all form-associated element with or witout form attribute points the form owner.
PASS inputElement1.form is owner
PASS inputElement2.form is owner
PASS inputElement3.form is owner
PASS labelElement1.form is null
PASS labelElement2.form is null
PASS labelElement3.form is null

- Ensures that the form attribute points the form owner even if the form element is nested another form element.
NOTE: It seems that nesting form elements is not allowed so we ensure each form-associated elements associate with the outmost form element.
PASS inputElement1.form is owner
PASS inputElement2.form is owner
PASS inputElement3.form is owner
PASS labelElement1.form is null
PASS labelElement2.form is null
PASS labelElement3.form is null

- Ensures whether the form owner is set correctly when the value of form attribute of a form-associated element changed.
PASS inputElement.form is form1
PASS inputElement.form is form2
PASS objectElement.form is form1
PASS objectElement.form is form2

- Ensures whether the form owner is set correctly when the value of form attribute is added/removed.
PASS inputElement.form is null
PASS inputElement.form is owner
PASS inputElement.form is null
PASS objectElement.form is null
PASS objectElement.form is owner
PASS objectElement.form is null

- Ensures whether the form owner is set correctly when the form owner is added/removed.
PASS owner.name is "firstOwner"
PASS owner.name is "secondOwner"
PASS inputElement.form is owner
PASS inputElement.form is null
PASS inputElement.form is owner
PASS successfullyParsed is true

TEST COMPLETE


