| // 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] |
| ]); |
| |