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