This test ensure that the shadow related elements are instantiated even inside frameless documents.

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


Testing on the frame-less document.
PASS window.HTMLContentElement is content.constructor
PASS window.HTMLShadowElement is shadow.constructor
Moving to the main document.
PASS window.HTMLContentElement is content.constructor
PASS window.HTMLShadowElement is shadow.constructor
PASS successfullyParsed is true

TEST COMPLETE
x+
