This tests that Comment is constructable.

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


PASS new Comment("one").data is "one"
PASS new Comment().data is ""
PASS new Comment("two").ownerDocument is document
PASS typeof new Comment is "object"
PASS Object.prototype.toString.call(new Comment) is "[object Comment]"
PASS new Comment instanceof Comment is true
PASS Object.getPrototypeOf(new Comment) is Comment.prototype
PASS new innerWindow.Comment("three").ownerDocument is innerDocument
PASS new innerWindow.Comment instanceof innerWindow.Comment is true
PASS Object.getPrototypeOf(new innerWindow.Comment) is innerWindow.Comment.prototype
PASS successfullyParsed is true

TEST COMPLETE

