summaryrefslogtreecommitdiffstats
path: root/js/src/tests/js1_5/Regress/regress-503860.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/js1_5/Regress/regress-503860.js')
-rw-r--r--js/src/tests/js1_5/Regress/regress-503860.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/js/src/tests/js1_5/Regress/regress-503860.js b/js/src/tests/js1_5/Regress/regress-503860.js
new file mode 100644
index 000000000..d29bcfddd
--- /dev/null
+++ b/js/src/tests/js1_5/Regress/regress-503860.js
@@ -0,0 +1,24 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 4 -*- */
+/*
+ * Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/licenses/publicdomain/
+ * Contributor: Jason Orendorff
+ */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 503860;
+var summary = "Don't shadow a readonly or setter proto-property";
+var expect = "PASS";
+var actual = "FAIL";
+var a = {y: 1};
+
+function B(){}
+B.prototype.__defineSetter__('x', function setx(val) { actual = expect; });
+var b = new B;
+b.y = 1;
+
+var arr = [a, b]; // same shape prior to bug 497789 fix
+for (var obj of arr)
+ obj.x = 2; // should call b's setter but doesn't
+
+reportCompare(expect, actual, summary);