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

shouldBeFalse("window.document.constructor === window.Object");
shouldBeTrue("window.document.constructor === window.HTMLDocument");
shouldBeTrue("window.document.constructor.prototype === window.HTMLDocument.prototype");
shouldBeTrue("window.document.constructor.prototype.__proto__ === window.HTMLDocument.prototype.__proto__");
shouldBeTrue("window.document.constructor.prototype.__proto__ === window.Document.prototype");

shouldBeTrue("window.document.body.constructor === window.HTMLBodyElement");
shouldBeTrue("window.document.body.constructor.prototype === window.HTMLBodyElement.prototype");
shouldBeTrue("window.document.body.constructor.prototype.__proto__ === window.HTMLBodyElement.prototype.__proto__");
shouldBeTrue("window.document.body.constructor.prototype.__proto__ === window.HTMLElement.prototype");

var htmlCollection = document.getElementsByTagName('script');
shouldBeTrue("htmlCollection.constructor === window.HTMLCollection");
shouldBeTrue("htmlCollection.constructor.prototype === window.HTMLCollection.prototype");

var mutationEvent = document.createEvent("MutationEvent");
shouldBeTrue("mutationEvent.constructor === window.MutationEvent");
shouldBeTrue("mutationEvent.constructor.prototype.__proto__ === window.Event.prototype");
