summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/misc/getter-setter-outerize-this.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/misc/getter-setter-outerize-this.js')
-rw-r--r--js/src/tests/non262/misc/getter-setter-outerize-this.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/js/src/tests/non262/misc/getter-setter-outerize-this.js b/js/src/tests/non262/misc/getter-setter-outerize-this.js
new file mode 100644
index 0000000000..46c61b889a
--- /dev/null
+++ b/js/src/tests/non262/misc/getter-setter-outerize-this.js
@@ -0,0 +1,21 @@
+if (typeof window === "undefined") {
+ // This test is meant to run in the browser, but it's easy to
+ // run it in the shell as well, even though it has no inner/outer
+ // windows.
+ window = this;
+}
+
+var res = false;
+Object.defineProperty(this, "foo", {configurable: true,
+ get: function() { return this === window; },
+ set: function(v) { res = this === window; }});
+
+(function() {
+ for (var i = 0; i < 3000; ++i) {
+ window.foo = i;
+ assertEq(res, true, "setter");
+ assertEq(window.foo, true, "getter");
+ }
+})();
+
+reportCompare(true, true);