S12.10_A5_T5.js (1595B)
1 // Copyright 2009 the Sputnik authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 4 /*--- 5 info: Deleting property using "eval" statement containing "with" statement 6 es5id: 12.10_A5_T5 7 description: Deleting array property 8 flags: [noStrict] 9 ---*/ 10 11 this.p1 = 'a'; 12 var myObj = { 13 p1: [1,2,3], 14 del:false 15 } 16 eval("with(myObj){del = delete p1}"); 17 18 ////////////////////////////////////////////////////////////////////////////// 19 //CHECK#1 20 try{ 21 if(myObj.p1[2] === 3){ 22 throw new Test262Error('#1: myObj.p1[2] !== 3 '); 23 } 24 }catch(e){var x=1}; 25 if(x !== 1){ 26 throw new Test262Error('#1: x === 1. Actual: x ==='+ x ); 27 } 28 // 29 ////////////////////////////////////////////////////////////////////////////// 30 31 ////////////////////////////////////////////////////////////////////////////// 32 //CHECK#2 33 if(myObj.p1 !== undefined){ 34 throw new Test262Error('#2: myObj.p1 === undefined . Actual: myObj.p1 ==='+ myObj.p1 ); 35 } 36 // 37 ////////////////////////////////////////////////////////////////////////////// 38 39 ////////////////////////////////////////////////////////////////////////////// 40 //CHECK#3 41 if(myObj.del !== true){ 42 throw new Test262Error('#3: myObj.del === true . Actual: myObj.del ==='+ myObj.del ); 43 } 44 // 45 ////////////////////////////////////////////////////////////////////////////// 46 47 ////////////////////////////////////////////////////////////////////////////// 48 //CHECK#4 49 if(myObj.p1 === 'a'){ 50 throw new Test262Error('#4: myObj.p1 !== \'a\''); 51 } 52 // 53 ////////////////////////////////////////////////////////////////////////////// 54 55 reportCompare(0, 0);