diff --git a/test/form/samples/break-control-flow/break-statement-labels-switch/_expected.js b/test/form/samples/break-control-flow/break-statement-labels-switch/_expected.js index 0a0f0b7da5f..c020736c988 100644 --- a/test/form/samples/break-control-flow/break-statement-labels-switch/_expected.js +++ b/test/form/samples/break-control-flow/break-statement-labels-switch/_expected.js @@ -74,26 +74,3 @@ function empty() { } empty(); - -function issue(obj) { - switch (obj.field1) { - case 'baz': - switch (obj.field2) { - case 'value': { - if (obj.field3) { - if (obj.field4) { - break; - } - } - throw new Error(`error 1`); - } - default: - throw new Error(`error 2`); - } - break; - default: - throw new Error('error 3'); - } -} - -issue({ field1: 'baz', field2: 'value' }); diff --git a/test/form/samples/break-control-flow/break-statement-labels-switch/main.js b/test/form/samples/break-control-flow/break-statement-labels-switch/main.js index 94e39043620..480a547205f 100644 --- a/test/form/samples/break-control-flow/break-statement-labels-switch/main.js +++ b/test/form/samples/break-control-flow/break-statement-labels-switch/main.js @@ -116,26 +116,3 @@ function empty() { } empty(); - -function issue(obj) { - switch (obj.field1) { - case 'baz': - switch (obj.field2) { - case 'value': { - if (obj.field3) { - if (obj.field4) { - break; - } - } - throw new Error(`error 1`); - } - default: - throw new Error(`error 2`); - } - break; - default: - throw new Error('error 3'); - } -} - -issue({ field1: 'baz', field2: 'value' }); diff --git a/test/function/samples/switch-break/_config.js b/test/function/samples/switch-break/_config.js new file mode 100644 index 00000000000..9e60c85325e --- /dev/null +++ b/test/function/samples/switch-break/_config.js @@ -0,0 +1,3 @@ +module.exports = { + description: 'if switch does not always throw an error, retain the following break' +}; diff --git a/test/function/samples/switch-break/main.js b/test/function/samples/switch-break/main.js new file mode 100644 index 00000000000..7643a17a0ff --- /dev/null +++ b/test/function/samples/switch-break/main.js @@ -0,0 +1,21 @@ +function issue(obj) { + switch (obj.field1) { + case 'baz': + switch (obj.field2) { + case 'value': { + if (obj.field1) { + if (obj.field1) { + break; + } + } + throw new Error(`error 1`); + } + default: + throw new Error(`error 2`); + } + break; // retained + default: + throw new Error('error 3'); + } +} +issue({ field1: 'baz', field2: 'value' });