This test checks a form element can handle elements of which form attribute points the form element even if elements are outside of the form.

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


- Ensures that elements attribute of the form contains elements which are outside of the form.
PASS owner.elements.length is 3
PASS owner.elements[0] is outerBefore
PASS owner.elements[1] is inner
PASS owner.elements[2] is outerAfter

- Ensures that form submission contains name and value pairs for such elements.
PASS pairs.length is 3
PASS pairs[0] is "key1=value1"
PASS pairs[1] is "key2=value2"
PASS pairs[2] is "submitted=true"
PASS successfullyParsed is true

TEST COMPLETE

