This tests the constructor property of DOM objects: http://bugs.webkit.org/show_bug.cgi?id=11315

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


PASS window.document.constructor === window.Object is false
PASS window.document.constructor === window.HTMLDocument is true
PASS window.document.constructor.prototype === window.HTMLDocument.prototype is true
PASS window.document.constructor.prototype.__proto__ === window.HTMLDocument.prototype.__proto__ is true
PASS window.document.constructor.prototype.__proto__ === window.Document.prototype is true
PASS window.document.body.constructor === window.HTMLBodyElement is true
PASS window.document.body.constructor.prototype === window.HTMLBodyElement.prototype is true
PASS window.document.body.constructor.prototype.__proto__ === window.HTMLBodyElement.prototype.__proto__ is true
PASS window.document.body.constructor.prototype.__proto__ === window.HTMLElement.prototype is true
PASS htmlCollection.constructor === window.HTMLCollection is true
PASS htmlCollection.constructor.prototype === window.HTMLCollection.prototype is true
PASS mutationEvent.constructor === window.MutationEvent is true
PASS mutationEvent.constructor.prototype.__proto__ === window.Event.prototype is true
PASS successfullyParsed is true

TEST COMPLETE

