This test ensures that we can attach various DOMs to the document.

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

PASS u.tagName is 'Long'
PASS (new XMLSerializer()).serializeToString(doc) is '<Long/>'
PASS u.tagName is 'Long'
PASS (new XMLSerializer()).serializeToString(doc) is '<Long><b>15</b></Long>'
PASS u.tagName is 'Long'
PASS (new XMLSerializer()).serializeToString(doc) is '<Long id="1">1</Long>'
PASS u.tagName is 'Long'
PASS (new XMLSerializer()).serializeToString(doc) is '<Long id="1">15<b>1</b>16</Long>'
PASS successfullyParsed is true

TEST COMPLETE

