blob: b4c44f2c80a3cd111d6887e6c8cc4178c62e673e [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
var c=0;
for (var i=0;i<10;i++) {
c=c+i;
if (c>12)
break;
}
WScript.Echo(c);
c=0;
L1:for (var j=0;j<4;j++) {
L5:for (var i=0;i<10;i++) {
c = c + i;
WScript.Echo(c);
if ((c > 12) && (c < 20))
break;
else continue L5;
}
L2: for (var k=0;k<2;k++) {
WScript.Echo(k);
}
L3: WScript.Echo("before continue");
if (j<2)
continue L1;
L4:WScript.Echo(j);
}
a: if (false) b = null;
else
{
break a;
}
b: for (i = 0; i < 10; i++) if (i == 5) break b;
d: for (i = 0; i < 10; i++) if (i == 5) break ;
c: while (i != 5) if (i== 11) break c;
e: while (i != 5) if (i== 11) break ;
// Some fuzzer-style stuff to try and confuse the return value
WScript.Echo(undefined === eval('L: {if(c) { break L; } else {break L; } foo() }'));
WScript.Echo(undefined === eval('L: {try { break L; } catch(q) { foo(); break L; } foo() }'));
WScript.Echo(c === eval('L: {do { try { throw c; break L; } catch(q) { q; break L; } foo();} while(1); }'));
WScript.Echo(undefined === eval('L: {while(1) { try { throw c; break L; } catch(q) { break L; } foo();} }'));