// Copyright 2009 the Sputnik authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- info: FunctionExpression containing "with" statement is admitted es5id: 13.2.2_A17_T2 description: Throwing an exception within "with" statement flags: [noStrict] ---*/ this.p1="alert"; __obj={p1:1,getRight:function(){return "right";}}; getRight=function(){return "napravo";}; try { (function(){ with(__obj){ p1="w1"; getRight=function(){return false;} throw p1; } })(); } catch (e) { resukt = p1; } ////////////////////////////////////////////////////////////////////////////// //CHECK#1 if (p1!=="alert") { throw new Test262Error('#1: p1 === "alert". Actual: p1==='+p1); } // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// //CHECK#2 if (getRight()!=="napravo") { throw new Test262Error('#2: getRight() === "napravo". Actual: getRight() === '+getRight()); } // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// //CHECK#3 if (__obj.p1!=="w1") { throw new Test262Error('#3: __obj.p1 === "w1". Actual: __obj.p1 ==='+__obj.p1); } // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// //CHECK#4 if (__obj.getRight()!==false) { throw new Test262Error('#4: __obj.getRight() === false. Actual: __obj.getRight() === '+__obj.getRight()); } // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// //CHECK#5 if (resukt !== "alert") { throw new Test262Error('#5: resukt === "alert". Actual: resukt ==='+resukt); } // ////////////////////////////////////////////////////////////////////////////// var resukt; reportCompare(0, 0);