Test the elements collection when the form is not a descendant of the document. This test case failed in an early version of Acid3.

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


PASS i.getAttribute('name') is 'first'
PASS i.name is 'first'
PASS i.getAttribute('type') is 'text'
PASS i.type is 'text'
PASS i.value is 'test'
PASS f.elements.length is 1
PASS f.elements[0] is i
PASS f.elements.first is i
PASS f.elements.second is i
PASS i.getAttribute('name') is 'second'
PASS i.name is 'second'
PASS i.getAttribute('type') is 'password'
PASS i.type is 'password'
PASS i.value is 'TEST'
PASS f.elements.length is 1
PASS f.elements[0] is i
PASS f.elements.first is undefined
PASS f.elements.second is i
PASS successfullyParsed is true

TEST COMPLETE

