S12.6.2_A5.js (1503B)
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: | 6 While using "while" within an eval statement, source "break" is allowed 7 and (normal, V, empty) is returned 8 es5id: 12.6.2_A5 9 description: Using eval 10 ---*/ 11 12 var __evaluated, __in__do__before__break, __in__do__after__break; 13 14 __evaluated = eval("while(1) {__in__do__before__break=1; break; __in__do__after__break=2;}"); 15 16 ////////////////////////////////////////////////////////////////////////////// 17 //CHECK#1 18 if (__in__do__before__break !== 1) { 19 throw new Test262Error('#1: __in__do__before__break === 1. Actual: __in__do__before__break ==='+ __in__do__before__break ); 20 } 21 // 22 ////////////////////////////////////////////////////////////////////////////// 23 24 ////////////////////////////////////////////////////////////////////////////// 25 //CHECK#2 26 if (typeof __in__do__after__break !== "undefined") { 27 throw new Test262Error('#2: typeof __in__do__after__break === "undefined". Actual: typeof __in__do__after__break ==='+ typeof __in__do__after__break ); 28 } 29 // 30 ////////////////////////////////////////////////////////////////////////////// 31 32 ////////////////////////////////////////////////////////////////////////////// 33 //CHECK#3 34 if (__evaluated !== 1) { 35 throw new Test262Error('#3: __evaluated === 1. Actual: __evaluated ==='+ __evaluated ); 36 } 37 // 38 ////////////////////////////////////////////////////////////////////////////// 39 40 reportCompare(0, 0);