diff options
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.js | 32 |
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 000000000..5906e1b49 --- /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] +]); + |