summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/collections/Array-of-ordering.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/collections/Array-of-ordering.js')
-rw-r--r--js/src/jit-test/tests/collections/Array-of-ordering.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/collections/Array-of-ordering.js b/js/src/jit-test/tests/collections/Array-of-ordering.js
new file mode 100644
index 0000000000..5906e1b498
--- /dev/null
+++ b/js/src/jit-test/tests/collections/Array-of-ordering.js
@@ -0,0 +1,32 @@
+// Order of Array.of operations.
+
+load(libdir + "asserts.js");
+
+var log;
+
+var dstdata = [];
+var dst = new Proxy(dstdata, {
+ defineProperty: function (t, name, desc) {
+ log.push(["def", name, desc.value]);
+ return true;
+ },
+ set: function (t, name, value) {
+ log.push(["set", name, value]);
+ return true;
+ }
+});
+
+function Troop() {
+ return dst;
+}
+Troop.of = Array.of;
+
+log = [];
+assertEq(Troop.of("monkeys", "baboons", "kangaroos"), dst);
+assertDeepEq(log, [
+ ["def", "0", "monkeys"],
+ ["def", "1", "baboons"],
+ ["def", "2", "kangaroos"],
+ ["set", "length", 3]
+]);
+