diff --git a/test/function/samples/switch-break/_config.js b/test/function/samples/switch-break/_config.js new file mode 100644 index 00000000000..3f4e0cec248 --- /dev/null +++ b/test/function/samples/switch-break/_config.js @@ -0,0 +1,4 @@ +module.exports = { + description: 'preserve break if switch does not always throw an error', + solo: true +}; diff --git a/test/function/samples/switch-break/main.js b/test/function/samples/switch-break/main.js new file mode 100644 index 00000000000..56b424e2b87 --- /dev/null +++ b/test/function/samples/switch-break/main.js @@ -0,0 +1,19 @@ +function issue(obj) { + switch (obj.field1) { + case 'baz': + switch (obj.field2) { + case 'value': { + if (obj.field1) { + break; + } + throw new Error(`error 1`); + } + default: + throw new Error(`error 2`); + } + break; + default: + throw new Error('error 3'); + } +} +issue({ field1: 'baz', field2: 'value' });