| //------------------------------------------------------------------------------------------------------- |
| // Copyright (C) Microsoft. All rights reserved. |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. |
| //------------------------------------------------------------------------------------------------------- |
| |
| // A non-helper block may fall through into a helper block (in this case, an unconditional bailout caused by the switch opt) |
| function test0(a) { |
| var b = -1; |
| switch(a ? a * 1 : a * 0.1) { |
| case 0: |
| b = 0; |
| break; |
| case 1: |
| b = 1; |
| break; |
| case 2: |
| b = 2; |
| break; |
| case 3: |
| b = 3; |
| } |
| return b; |
| } |
| test0(1); |
| test0(0); |
| |
| // - Should be able to successfully create an airlock block on a multi-branch edge |
| // - A multi-branch involving multiple of the same target block should create only one airlock block per target block |
| function test1(a, b) { |
| ++b; |
| switch(a) { |
| case "0": |
| b += 0.1; |
| break; |
| case "1": |
| case "2": |
| case "3": |
| } |
| return b; |
| } |
| test1("1", 0); |
| test1("1", 0); |
| |
| WScript.Echo("pass"); |