Tests cloneNode for Document.

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


PASS doc.cloneNode(false).__proto__ is XMLDocument.prototype
PASS className(doc.cloneNode(false)) is "XMLDocument"
PASS doc.cloneNode(true).documentElement.localName is "root"
PASS doc.cloneNode(true).contentType is "application/xml"
PASS document.cloneNode(true).compatMode is "CSS1Compat"
PASS document.cloneNode(false).URL is document.URL
PASS document.cloneNode(false).baseURI is document.baseURI
PASS document.cloneNode(false).characterSet is document.characterSet
PASS document.cloneNode(true).contentType is "text/html"
PASS successfullyParsed is true

TEST COMPLETE

