Array-of-ordering.js (620B)
1 // Order of Array.of operations. 2 3 load(libdir + "asserts.js"); 4 5 var log; 6 7 var dstdata = []; 8 var dst = new Proxy(dstdata, { 9 defineProperty: function (t, name, desc) { 10 log.push(["def", name, desc.value]); 11 return true; 12 }, 13 set: function (t, name, value) { 14 log.push(["set", name, value]); 15 return true; 16 } 17 }); 18 19 function Troop() { 20 return dst; 21 } 22 Troop.of = Array.of; 23 24 log = []; 25 assertEq(Troop.of("monkeys", "baboons", "kangaroos"), dst); 26 assertDeepEq(log, [ 27 ["def", "0", "monkeys"], 28 ["def", "1", "baboons"], 29 ["def", "2", "kangaroos"], 30 ["set", "length", 3] 31 ]);