65 lines
3.9 KiB
HTML
65 lines
3.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<title>old title</title>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
debug("document.title");
|
|
shouldNotBe("Object.getOwnPropertyDescriptor(Document.prototype, 'title')", "Object.getOwnPropertyDescriptor(Document.prototype, 'title')");
|
|
shouldBe("Object.getOwnPropertyDescriptor(Document.prototype, 'title').get", "Object.getOwnPropertyDescriptor(Document.prototype, 'title').get");
|
|
shouldBe("Object.getOwnPropertyDescriptor(Document.prototype, 'title').set", "Object.getOwnPropertyDescriptor(Document.prototype, 'title').set");
|
|
shouldBeEqualToString("Object.getOwnPropertyDescriptor(Document.prototype, 'title').get.toString()", "function title() {\n [native code]\n}");
|
|
shouldBe("Object.getOwnPropertyDescriptor(Document.prototype, 'title').get.length", "0");
|
|
shouldBeEqualToString("Object.getOwnPropertyDescriptor(Document.prototype, 'title').set.toString()", "function title() {\n [native code]\n}");
|
|
shouldBe("Object.getOwnPropertyDescriptor(Document.prototype, 'title').set.length", "1");
|
|
shouldBe("Object.getOwnPropertyDescriptor(Document.prototype, 'title').get.call(document)", "document.title");
|
|
shouldBeEqualToString('document.title', 'old title');
|
|
shouldBeEqualToString("Object.getOwnPropertyDescriptor(Document.prototype, 'title').get.call(document)", 'old title');
|
|
shouldThrow("Object.getOwnPropertyDescriptor(Document.prototype, 'title').get.call()");
|
|
shouldThrow("Object.getOwnPropertyDescriptor(Document.prototype, 'title').get.call(null)");
|
|
shouldThrow("Object.getOwnPropertyDescriptor(Document.prototype, 'title').get.call(document.documentElement)");
|
|
shouldBeUndefined("Object.getOwnPropertyDescriptor(Document.prototype, 'title').set.call(document, 'new title')");
|
|
shouldBeEqualToString('document.title', 'new title');
|
|
shouldBeEqualToString("Object.getOwnPropertyDescriptor(Document.prototype, 'title').get.call(document)", 'new title');
|
|
shouldThrow("Object.getOwnPropertyDescriptor(Document.prototype, 'title').set.call()");
|
|
shouldThrow("Object.getOwnPropertyDescriptor(Document.prototype, 'title').set.call(null)");
|
|
shouldThrow("Object.getOwnPropertyDescriptor(Document.prototype, 'title').set.call(document.documentElement)");
|
|
|
|
// document.readyState CustomAccessor: getter
|
|
// readonly attribute DOMString readyState;
|
|
debug("");
|
|
debug("document.readyState");
|
|
shouldNotBe("Object.getOwnPropertyDescriptor(Document.prototype, 'readyState')", "Object.getOwnPropertyDescriptor(Document.prototype, 'readyState')");
|
|
shouldBe("Object.getOwnPropertyDescriptor(Document.prototype, 'readyState').get", "Object.getOwnPropertyDescriptor(Document.prototype, 'readyState').get");
|
|
shouldBe("Object.getOwnPropertyDescriptor(Document.prototype, 'readyState').set", "Object.getOwnPropertyDescriptor(Document.prototype, 'readyState').set");
|
|
shouldBeEqualToString("Object.getOwnPropertyDescriptor(Document.prototype, 'readyState').get.toString()", "function readyState() {\n [native code]\n}");
|
|
shouldBe("Object.getOwnPropertyDescriptor(Document.prototype, 'readyState').get.length", "0");
|
|
shouldBe("Object.getOwnPropertyDescriptor(Document.prototype, 'readyState').get.call(document)", "document.readyState");
|
|
shouldBeUndefined("Object.getOwnPropertyDescriptor(Document.prototype, 'readyState').set");
|
|
|
|
debug("");
|
|
debug("Node.nodeType");
|
|
|
|
var node_type = Object.getOwnPropertyDescriptor(Node.prototype, 'nodeType');
|
|
|
|
// tests that logging one of these to the console does not cause a crash or throw an exception.
|
|
shouldNotThrow("console.log(node_type)");
|
|
|
|
var getter = node_type.get;
|
|
shouldNotThrow("console.log(getter)");
|
|
|
|
shouldBeDefined("node_type.get");
|
|
shouldBe("node_type.get.call(document.body)", "1");
|
|
shouldBeTrue("node_type.enumerable");
|
|
|
|
// tests that the getter on native descriptors is always the same under strict equality.
|
|
var otherGetter = Object.getOwnPropertyDescriptor(Node.prototype, 'nodeType').get;
|
|
shouldBeTrue("getter === otherGetter");
|
|
|
|
</script>
|
|
</body>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</html>
|