summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/extensions/regress-414098.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/extensions/regress-414098.js')
-rw-r--r--js/src/tests/non262/extensions/regress-414098.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/js/src/tests/non262/extensions/regress-414098.js b/js/src/tests/non262/extensions/regress-414098.js
new file mode 100644
index 0000000000..aa2b6e9de8
--- /dev/null
+++ b/js/src/tests/non262/extensions/regress-414098.js
@@ -0,0 +1,34 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 414098;
+var summary = 'Getter behavior on arrays';
+var actual = '';
+var expect = '';
+
+var a=[1,2,3];
+var foo = 44;
+a.__defineGetter__(1, function() { return foo + 10; });
+actual = String(a);
+reportCompare("1,54,3", actual, "getter 1");
+
+actual = String(a.reverse());
+reportCompare("3,54,1", actual, "reverse");
+
+var s = "";
+a.forEach(function(e) { s += e + "|"; });
+actual = s;
+reportCompare("3|54|1|", actual, "forEach");
+
+actual = a.join(' - ');
+reportCompare("3 - 54 - 1", actual, "join");
+
+a[2]=3;
+actual = a.pop();
+reportCompare(actual, 3, "pop");
+
+actual = a.pop();
+reportCompare(actual, 54, "pop 2");