S12.10_A5_T2.js (1513B)
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_T2 7 description: Deleting number property 8 flags: [noStrict] 9 ---*/ 10 11 this.p1 = 'a'; 12 var myObj = { 13 p1: 1, 14 del:false 15 } 16 eval("with(myObj){del = delete p1}"); 17 18 ////////////////////////////////////////////////////////////////////////////// 19 //CHECK#1 20 if(myObj.p1 === 1){ 21 throw new Test262Error('#1: myObj.p1 !== 1'); 22 } 23 // 24 ////////////////////////////////////////////////////////////////////////////// 25 26 ////////////////////////////////////////////////////////////////////////////// 27 //CHECK#2 28 if(myObj.p1 !== undefined){ 29 throw new Test262Error('#2: myObj.p1 === undefined . Actual: myObj.p1 ==='+ myObj.p1 ); 30 } 31 // 32 ////////////////////////////////////////////////////////////////////////////// 33 34 ////////////////////////////////////////////////////////////////////////////// 35 //CHECK#3 36 if(myObj.del !== true){ 37 throw new Test262Error('#3: myObj.del === true. Actual: myObj.del ===. Actual: myObj.del ==='+ myObj.del +myObj.del); 38 } 39 // 40 ////////////////////////////////////////////////////////////////////////////// 41 42 ////////////////////////////////////////////////////////////////////////////// 43 //CHECK#4 44 if(myObj.p1 === 'a'){ 45 throw new Test262Error('#4: myObj.p1 !== \'a\''); 46 } 47 // 48 ////////////////////////////////////////////////////////////////////////////// 49 50 reportCompare(0, 0);