Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Unified Diff: third_party/WebKit/LayoutTests/fast/dom/Window/script-tests/window-custom-prototype.js

Issue 2452073002: Freeze global prototype chain per WebIDL (Closed)
Patch Set: Test improvements Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/fast/dom/Window/script-tests/window-custom-prototype.js
diff --git a/third_party/WebKit/LayoutTests/fast/dom/Window/script-tests/window-custom-prototype.js b/third_party/WebKit/LayoutTests/fast/dom/Window/script-tests/window-custom-prototype.js
index 376134324172d5045bf3822be69de747a5a1a586..09c0735cb9581d02e6eadf4490b7ac988ea39915 100644
--- a/third_party/WebKit/LayoutTests/fast/dom/Window/script-tests/window-custom-prototype.js
+++ b/third_party/WebKit/LayoutTests/fast/dom/Window/script-tests/window-custom-prototype.js
@@ -3,16 +3,18 @@ description("Test what happens when you set the window's prototype to various va
var originalWindowPrototype = __proto__;
var chainPointingBackToWindow = { __proto__: window };
var anotherObject = { };
+var error = "'TypeError: Immutable prototype object \\'#<Window>\\' cannot have their prototype set'";
-shouldThrow("__proto__ = window; __proto", "'TypeError: Cyclic __proto__ value'");
-shouldThrow("__proto__ = chainPointingBackToWindow; __proto__", "'TypeError: Cyclic __proto__ value'");
+shouldThrow("__proto__ = window; __proto__", error);
+shouldThrow("__proto__ = chainPointingBackToWindow; __proto__", error);
shouldBe("__proto__ = 1; __proto__", "originalWindowPrototype");
shouldBe("__proto__ = 'a string'; __proto__", "originalWindowPrototype");
-shouldBe("__proto__ = anotherObject; __proto__", "anotherObject");
-shouldThrow("anotherObject.__proto__ = window; __proto__", "'TypeError: Cyclic __proto__ value'");
-shouldBe("__proto__ = 1; __proto__", "anotherObject");
-shouldBe("__proto__ = 'a string'; __proto__", "anotherObject");
-shouldBe("__proto__ = anotherObject; __proto__", "anotherObject");
+shouldThrow("__proto__ = anotherObject; __proto__", error);
+shouldBe("anotherObject.__proto__ = window; __proto__", "originalWindowPrototype");
+shouldBe("__proto__ = 1; __proto__", "originalWindowPrototype");
+shouldBe("__proto__ = 'a string'; __proto__", "originalWindowPrototype");
+shouldThrow("__proto__ = anotherObject; __proto__", error);
shouldBe("__proto__ = originalWindowPrototype; __proto__", "originalWindowPrototype");
shouldBe("anotherObject.__proto__ = window; anotherObject.__proto__", "window");
-shouldBe("__proto__ = null; window.__proto__", "undefined");
+shouldThrow("__proto__ = null; __proto__", error);
+shouldThrow("location.__proto__.__proto__ = location", "'TypeError: Cyclic __proto__ value'");

Powered by Google App Engine
This is Rietveld 408576698