blob: 7717c658ca1804f445179f416848a83cafd91d7a [file] [log] [blame]
description("Test to ensure that global constructors have the right attributes");
function descriptorShouldBe(object, property, expected) {
var test = "Object.getOwnPropertyDescriptor(" + object + ", " + property + ")";
if ("writable" in expected) {
shouldBe(test + ".value", "" + expected.value);
shouldBeFalse(test + ".hasOwnProperty('get')");
shouldBeFalse(test + ".hasOwnProperty('set')");
} else {
shouldBe(test + ".get", "" + expected.get);
shouldBe(test + ".set", "" + expected.set);
shouldBeFalse(test + ".hasOwnProperty('value')");
shouldBeFalse(test + ".hasOwnProperty('writable')");
}
shouldBe(test + ".enumerable", "" + expected.enumerable);
shouldBe(test + ".configurable", "" + expected.configurable);
}
var global = this;
descriptorShouldBe("global", "'CSSRuleList'", {writable: true, enumerable: false, configurable: true, value:"CSSRuleList"});
descriptorShouldBe("global", "'Document'", {writable: true, enumerable: false, configurable: true, value:"Document"});
descriptorShouldBe("global", "'Element'", {writable: true, enumerable: false, configurable: true, value:"Element"});
descriptorShouldBe("global", "'HTMLDivElement'", {writable: true, enumerable: false, configurable: true, value:"HTMLDivElement"});
descriptorShouldBe("global", "'ProgressEvent'", {writable: true, enumerable: false, configurable: true, value:"ProgressEvent"});
descriptorShouldBe("global", "'Selection'", {writable: true, enumerable: false, configurable: true, value:"Selection"});
descriptorShouldBe("global", "'XMLHttpRequest'", {writable: true, enumerable: false, configurable: true, value:"XMLHttpRequest"});