setelem-undefined-null.js (898B)
1 function exists() { 2 var a = {'null': 0, 'undefined': 0}; 3 for (var i = 0; i < 100; i++) { 4 a[null] = i; 5 a[undefined] = i * 2; 6 assertEq(a['null'], i); 7 assertEq(a['undefined'], i * 2); 8 } 9 } 10 11 function adding() { 12 for (var i = 0; i < 100; i++) { 13 var a = {}; 14 a[null] = i; 15 a[undefined] = i * 2; 16 assertEq(a['null'], i); 17 assertEq(a['undefined'], i * 2); 18 } 19 } 20 21 function setter() { 22 var test = 0; 23 var a = { 24 set null(v) { 25 test = v; 26 }, 27 set undefined(v) { 28 test = v * 2; 29 } 30 } 31 for (var i = 0; i < 100; i++) { 32 a[null] = i; 33 assertEq(test, i); 34 a[undefined] = i; 35 assertEq(test, i * 2); 36 } 37 } 38 39 function mixed() { 40 var a = {'null': void 0, 'undefined': void 0}; 41 for (var i = 0; i < 100; i++) { 42 a[i % 2 ? null : undefined] = i; 43 assertEq(a[i % 2 ? 'null' : 'undefined'], i) 44 } 45 } 46 47 exists(); 48 adding() 49 setter(); 50 mixed();