S12.10_A4_T4.js (1201B)
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: Changing property using "eval" statement containing "with" statement 6 es5id: 12.10_A4_T4 7 description: Changing object property 8 flags: [noStrict] 9 ---*/ 10 11 this.p1 = 'a'; 12 var myObj = { 13 p1: {a:"hello"}, 14 } 15 eval("with(myObj){p1={b:'hi'}}"); 16 17 ////////////////////////////////////////////////////////////////////////////// 18 //CHECK#1 19 if(myObj.p1.a === "hello"){ 20 throw new Test262Error('#1: myObj.p1.a !== "hello"'); 21 } 22 // 23 ////////////////////////////////////////////////////////////////////////////// 24 25 ////////////////////////////////////////////////////////////////////////////// 26 //CHECK#2 27 if(myObj.p1.b !== "hi"){ 28 throw new Test262Error('#2: myObj.p1.b === "hi". Actual: myObj.p1.b ==='+ myObj.p1.b ); 29 } 30 // 31 ////////////////////////////////////////////////////////////////////////////// 32 33 34 ////////////////////////////////////////////////////////////////////////////// 35 //CHECK#3 36 if(myObj.p1 === 'a'){ 37 throw new Test262Error('#3: myObj.p1 !== \'a\''); 38 } 39 // 40 ////////////////////////////////////////////////////////////////////////////// 41 42 reportCompare(0, 0);