S12.10_A5_T1.js (1477B)
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_T1 7 description: Deleting string property 8 flags: [noStrict] 9 ---*/ 10 11 this.p1 = 1; 12 var myObj = { 13 p1: 'a', 14 del:false 15 } 16 eval("with(myObj){del = delete p1}"); 17 18 ////////////////////////////////////////////////////////////////////////////// 19 //CHECK#1 20 if(myObj.p1 === 'a'){ 21 throw new Test262Error('#1: myObj.p1 !== "a"'); 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 ==='+ myObj.del ); 38 } 39 // 40 ////////////////////////////////////////////////////////////////////////////// 41 42 ////////////////////////////////////////////////////////////////////////////// 43 //CHECK#4 44 if(myObj.p1 === 1){ 45 throw new Test262Error('#4: myObj.p1 !== 1'); 46 } 47 // 48 ////////////////////////////////////////////////////////////////////////////// 49 50 reportCompare(0, 0);