primitive-proto-properties.js (827B)
1 function shadowing() { 2 Object.prototype.x = 1; 3 4 for (var i = 0; i < 20; i++) { 5 var x = "a".x; 6 assertEq(x, i <= 15 ? 1 : "hello"); 7 8 if (i == 15) { 9 String.prototype.x = "hello"; 10 } 11 } 12 13 delete Object.prototype.x; 14 } 15 16 function deleted() { 17 String.prototype.y = 1; 18 19 for (var i = 0; i < 20; i++) { 20 var y = "a".y; 21 assertEq(y, i <= 15 ? 1 : undefined); 22 23 if (i == 15) { 24 delete String.prototype.y; 25 } 26 } 27 28 delete String.prototype.y; 29 } 30 31 32 function notdefined() { 33 for (var i = 0; i < 20; i++) { 34 var z = "a".z; 35 assertEq(z, i <= 15 ? undefined : "test"); 36 37 if (i == 15) { 38 String.prototype.z = "test"; 39 } 40 } 41 42 delete String.prototype.z; 43 } 44 45 shadowing(); 46 deleted(); 47 notdefined();