| //------------------------------------------------------------------------------------------------------- |
| // Copyright (C) Microsoft. All rights reserved. |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. |
| //------------------------------------------------------------------------------------------------------- |
| |
| // Blue bug 241839 |
| function val() { |
| return 1; |
| } |
| |
| function testSwitch1() { |
| switch (val()) { |
| case 1: |
| let z = 10; // No error |
| z++; |
| break; |
| case 2: |
| let y = 1; // No error |
| y++; |
| break; |
| } |
| } |
| |
| function testSwitch2() { |
| switch (val()) { |
| case 1: |
| switch (val()) { |
| default: |
| let a = 1; // No error |
| break; |
| } |
| } |
| } |
| |
| function testSwitch3() { |
| var a = 1; |
| while (a) |
| switch (val()) { |
| default: |
| let b = 2; // No error |
| ++b; |
| a = 0; |
| break; |
| } |
| } |
| |
| testSwitch1(); |
| testSwitch2(); |
| testSwitch3(); |
| |
| // Reduced hang found during development. |
| (function () { try { eval( |
| "switch (Math()) { \ |
| default: \ |
| function func4() { \ |
| switch (--e) { \ |
| } \ |
| } \ |
| }" |
| ); } catch (e) { WScript.Echo(e) }})(); |
| |
| WScript.Echo('Pass'); |