Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /js/behaviours/SetPrototypeOf-window.html - WPT Dashboard Interop Dashboard
<!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>