//------------------------------------------------------------------------------------------------------- | |
// Copyright (C) Microsoft. All rights reserved. | |
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
//------------------------------------------------------------------------------------------------------- | |
// Tests for ERRDeclOutOfBlock "Const and let must be declared inside of block" | |
var a = 1; | |
(function () { | |
try { eval( | |
"if (a) \ | |
let b = 5;" // error | |
);} catch (e) { WScript.Echo(e); } | |
try { eval( | |
"if (a) \ | |
const b = 5;" // error | |
);} catch (e) { WScript.Echo(e); } | |
})(); | |
(function () { | |
try { eval( | |
"if (a) { \ | |
let c = 3; /* no error */ \ | |
const x = 42; /* no error */ \ | |
}" | |
);} catch (e) { WScript.Echo(e); } | |
})(); | |
(function () { | |
try { eval( | |
"while (a) \ | |
let d = 5;" // error | |
);} catch (e) { WScript.Echo(e); } | |
try { eval( | |
"while (a) \ | |
let d = 5;" // error | |
);} catch (e) { WScript.Echo(e); } | |
})(); | |
(function () { | |
try { eval( | |
"while (a) { \ | |
let e = 10; /* no error */ \ | |
const y = 10; /* no error */ \ | |
break; \ | |
}" | |
);} catch (e) { WScript.Echo(e); } | |
})(); | |
(function () { | |
try { eval( | |
"if (a) \ | |
while (a) \ | |
if (a) { \ | |
let x = 3; /* no error */ \ | |
const z = x; /* no error */ \ | |
while (a) \ | |
let f = 5; /* error */ \ | |
}" | |
);} catch (e) { WScript.Echo(e); } | |
})(); | |
function test() { | |
if (a) | |
for (let x in [1]) { /* no error */ | |
break; | |
}; | |
for (var y in [1]) | |
for (let x in [1]) { /* no error */ | |
break; | |
}; | |
do | |
for (let x in [1]) { /* no error */ | |
break; | |
} | |
while (!a); | |
if (a) | |
for (let x = 0; x < 1; x++) { /* no error */ | |
break; | |
}; | |
for (var y in [1]) | |
for (let x = 0; x < 1; x++) { /* no error */ | |
break; | |
}; | |
do | |
for (let x = 0; x < 1; x++) { /* no error */ | |
break; | |
} | |
while (!a); | |
WScript.Echo('success'); | |
}; | |
test(); | |