diff --git a/packages/babel-preset-env/test/fixtures/top-level-await/supported/input.mjs b/packages/babel-preset-env/test/fixtures/top-level-await/supported/input.mjs deleted file mode 100644 index d8ddd6c0ad0b..000000000000 --- a/packages/babel-preset-env/test/fixtures/top-level-await/supported/input.mjs +++ /dev/null @@ -1 +0,0 @@ -await 0; \ No newline at end of file diff --git a/packages/babel-preset-env/test/fixtures/top-level-await/supported/options.json b/packages/babel-preset-env/test/fixtures/top-level-await/supported/options.json deleted file mode 100644 index 2bd09619445b..000000000000 --- a/packages/babel-preset-env/test/fixtures/top-level-await/supported/options.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "caller": { - "name": "test-fixture", - "supportsStaticESM": true, - "supportsDynamicImport": true, - "supportsTopLevelAwait": true - }, - "presets": ["env"] -} diff --git a/packages/babel-preset-env/test/fixtures/top-level-await/supported/output.mjs b/packages/babel-preset-env/test/fixtures/top-level-await/supported/output.mjs deleted file mode 100644 index 0a5e432fc91c..000000000000 --- a/packages/babel-preset-env/test/fixtures/top-level-await/supported/output.mjs +++ /dev/null @@ -1 +0,0 @@ -await 0; diff --git a/packages/babel-preset-env/test/fixtures/top-level-await/unsupported/input.mjs b/packages/babel-preset-env/test/fixtures/top-level-await/unsupported/input.mjs deleted file mode 100644 index 0a5e432fc91c..000000000000 --- a/packages/babel-preset-env/test/fixtures/top-level-await/unsupported/input.mjs +++ /dev/null @@ -1 +0,0 @@ -await 0; diff --git a/packages/babel-preset-env/test/fixtures/top-level-await/unsupported/options.json b/packages/babel-preset-env/test/fixtures/top-level-await/unsupported/options.json deleted file mode 100644 index 20761c305c91..000000000000 --- a/packages/babel-preset-env/test/fixtures/top-level-await/unsupported/options.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "caller": { - "name": "test-fixture", - "supportsStaticESM": true, - "supportsDynamicImport": true, - "supportsTopLevelAwait": false - }, - "presets": ["env"], - "throws": "Unexpected reserved word 'await'. (1:0)" -} diff --git a/packages/babel-preset-env/test/top-level-await.js b/packages/babel-preset-env/test/top-level-await.js new file mode 100644 index 000000000000..65c222af71e9 --- /dev/null +++ b/packages/babel-preset-env/test/top-level-await.js @@ -0,0 +1,42 @@ +import env from ".."; +import * as babel from "@babel/core"; + +describe("supportsTopLevelAwait enables the parser plugin for old parser versions", () => { + function extractParserOptions(api, { ref }) { + return { + manipulateOptions(opts, parserOpts) { + ref.parserOpts = parserOpts; + }, + visitor: {}, + }; + } + + it("supported", () => { + const ref = {}; + babel.transformSync("", { + configFile: false, + presets: [env], + plugins: [[extractParserOptions, { ref }]], + caller: { + name: "test", + supportsTopLevelAwait: true, + }, + }); + + expect(ref.parserOpts.plugins).toContain("topLevelAwait"); + }); + + it("unsupported", () => { + const ref = {}; + babel.transformSync("", { + configFile: false, + presets: [env], + plugins: [[extractParserOptions, { ref }]], + caller: { + name: "test", + }, + }); + + expect(ref.parserOpts.plugins).not.toContain("topLevelAwait"); + }); +});