// Copyright 2009 the Sputnik authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /** * The "for {;;}" for Statement with empty expressions is allowed and leads to performing an infinite loop * * @path ch12/12.6/12.6.3/S12.6.3_A1.js * @description Breaking an infinite loop by throwing exception */ var __in__for = 0; ////////////////////////////////////////////////////////////////////////////// //CHECK#1 try { for (;;){ //__in__for++; if(++__in__for>100)throw 1; } } catch (e) { if (e !== 1) { $ERROR('#1: for {;;} is admitted and leads to infinite loop'); } } // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// //CHECK#2 if (__in__for !== 101) { $ERROR('#2: __in__for === 101. Actual: __in__for ==='+ __in__for ); } // //////////////////////////////////////////////////////////////////////////////