Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<meta charset=utf-8>
<title>Test for [[SetPrototypeOf]] with Windows</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
test(function() {
assert_throws_js(TypeError, function() {
Object.setPrototypeOf(window, window);
}, "Setting the prototype should throw");
}, "Setting the prototype of a window to itself via setPrototypeOf");
test(function() {
assert_throws_js(TypeError, function() {
window.__proto__ = window;
}, "Setting the prototype should throw");
}, "Setting the prototype of a window to itself via __proto__");
test(function() {
assert_throws_js(TypeError, function() {
Object.setPrototypeOf(window, Object.create(window));
}, "Setting the prototype should throw");
}, "Setting the prototype of a window to something that has the window on " +
"its proto chain via setPrototypeOf");
test(function() {
assert_throws_js(TypeError, function() {
window.__proto__ = Object.create(window);
}, "Setting the prototype should throw");
}, "Setting the prototype of a window to something that has the window on " +
"its proto chain via __proto__");
</script>