diff options
Diffstat (limited to 'testing/web-platform/tests/js/behaviours')
-rw-r--r-- | testing/web-platform/tests/js/behaviours/SetPrototypeOf-window.html | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/testing/web-platform/tests/js/behaviours/SetPrototypeOf-window.html b/testing/web-platform/tests/js/behaviours/SetPrototypeOf-window.html new file mode 100644 index 000000000..0a6ec249f --- /dev/null +++ b/testing/web-platform/tests/js/behaviours/SetPrototypeOf-window.html @@ -0,0 +1,33 @@ +<!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(new 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(new TypeError, function() { + window.__proto__ = window; + }, "Setting the prototype should throw"); +}, "Setting the prototype of a window to itself via __proto__"); + +test(function() { + assert_throws(new 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(new 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> |