From 6e5315d0e90b76f762e249e84546863b904f8f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Thu, 3 Jun 2021 01:11:09 +0200 Subject: [PATCH] Misc test updates --- packages/babel-cli/bin/babel.js | 2 +- .../babel/--copy-files with only/stdout.txt | 3 +- .../src/index.js | 5 +++ .../src/index.ts | 27 +++++++------ .../test/plugin-ordering.test.js | 24 ++++++------ .../duplicate-decl-bug/options.json | 2 +- ...-clear-scope.js => plugin-clear-scope.cjs} | 0 .../test/util.test.js | 19 +++++++--- .../src/index.js | 2 +- .../src/index.js | 2 +- .../test/fixtures/source-map/exec.js | 33 ---------------- .../test/fixtures/source-map/options.json | 3 -- .../test/source-map.js | 38 +++++++++++++++++++ .../src/index.js | 2 +- .../cross-platform/generated-jsx/options.json | 2 +- .../generated-jsx/{plugin.js => plugin.cjs} | 0 .../fixtures/comments/attachment/options.json | 2 +- .../attachment/{remove.js => remove.cjs} | 0 .../options.json | 2 +- .../{plugin.js => plugin.cjs} | 0 .../rename/break-statements/options.json | 2 +- .../{plugin.js => plugin.cjs} | 0 22 files changed, 92 insertions(+), 78 deletions(-) rename packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/{plugin-clear-scope.js => plugin-clear-scope.cjs} (100%) delete mode 100644 packages/babel-plugin-transform-modules-commonjs/test/fixtures/source-map/exec.js delete mode 100644 packages/babel-plugin-transform-modules-commonjs/test/fixtures/source-map/options.json create mode 100644 packages/babel-plugin-transform-modules-commonjs/test/source-map.js rename packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/{plugin.js => plugin.cjs} (100%) rename packages/babel-traverse/test/fixtures/comments/attachment/{remove.js => remove.cjs} (100%) rename packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/{plugin.js => plugin.cjs} (100%) rename packages/babel-traverse/test/fixtures/rename/break-statements/{plugin.js => plugin.cjs} (100%) diff --git a/packages/babel-cli/bin/babel.js b/packages/babel-cli/bin/babel.js index 7c227455f1df..b2a361844330 100755 --- a/packages/babel-cli/bin/babel.js +++ b/packages/babel-cli/bin/babel.js @@ -1,3 +1,3 @@ #!/usr/bin/env node -require("../lib/babel"); +import("../lib/babel.js"); diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files with only/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files with only/stdout.txt index 8d4e7a138947..634bf68f84bd 100644 --- a/packages/babel-cli/test/fixtures/babel/--copy-files with only/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--copy-files with only/stdout.txt @@ -1,2 +1 @@ -src/foo/bar.js -> lib/foo/bar.js -Successfully compiled 1 file with Babel (123ms). +Successfully compiled 0 files with Babel (123ms). diff --git a/packages/babel-helper-plugin-test-runner/src/index.js b/packages/babel-helper-plugin-test-runner/src/index.js index 44e5a7d56f32..03064b7a9f92 100644 --- a/packages/babel-helper-plugin-test-runner/src/index.js +++ b/packages/babel-helper-plugin-test-runner/src/index.js @@ -2,6 +2,11 @@ import testRunner from "@babel/helper-transform-fixture-test-runner"; import path from "path"; import { URL } from "url"; +// Workaround for https://github.com/facebook/jest/issues/11434 +import "../../babel-helper-create-class-features-plugin/lib/index"; +import "../../babel-template/lib/index"; +import "../../babel-core/lib/index"; + export default function (loc) { if (!process.env.BABEL_8_BREAKING) { if (!loc.startsWith("file://")) { diff --git a/packages/babel-helper-transform-fixture-test-runner/src/index.ts b/packages/babel-helper-transform-fixture-test-runner/src/index.ts index 459388d7e8e3..06a1e010ba2e 100644 --- a/packages/babel-helper-transform-fixture-test-runner/src/index.ts +++ b/packages/babel-helper-transform-fixture-test-runner/src/index.ts @@ -14,6 +14,12 @@ import path from "path"; import vm from "vm"; import QuickLRU from "quick-lru"; import { fileURLToPath } from "url"; +import { jest } from "@jest/globals"; + +// Workaround for https://github.com/facebook/jest/issues/11434 +import "../../babel-helper-create-class-features-plugin/lib/index"; +import "../../babel-template/lib/index"; +import "../../babel-core/lib/index"; import { createRequire } from "module"; const require = createRequire(import.meta.url); @@ -196,7 +202,7 @@ export function runCodeInTestContext( } } -function run(task) { +async function run(task) { const { actual, expect: expected, @@ -234,7 +240,7 @@ function run(task) { if (execCode) { const context = createContext(); const execOpts = getOpts(exec); - result = babel.transform(execCode, execOpts); + result = await babel.transformAsync(execCode, execOpts); checkDuplicatedNodes(babel, result.ast); execCode = result.code; @@ -266,7 +272,7 @@ function run(task) { }; } - result = babel.transform(inputCode, getOpts(actual)); + result = await babel.transformAsync(inputCode, getOpts(actual)); if (restoreSpies) restoreSpies(); @@ -448,9 +454,9 @@ export default function ( testFn( task.title, - function () { + async function () { function runTask() { - run(task); + return run(task); } if ("sourceMap" in task.options === false) { @@ -477,7 +483,7 @@ export default function ( // the options object with useless options delete task.options.throws; - assert.throws(runTask, function (err) { + await assert.rejects(runTask, function (err) { assert.ok( throwMsg === true || err.message.includes(throwMsg), ` @@ -487,14 +493,7 @@ Actual Error: ${err.message}`, return true; }); } else { - if (task.exec.code) { - const result = run(task); - if (result && typeof result.then === "function") { - return result; - } - } else { - runTask(); - } + return runTask(); } }, ); diff --git a/packages/babel-plugin-proposal-class-static-block/test/plugin-ordering.test.js b/packages/babel-plugin-proposal-class-static-block/test/plugin-ordering.test.js index 0e1fae77548e..12efad06730b 100644 --- a/packages/babel-plugin-proposal-class-static-block/test/plugin-ordering.test.js +++ b/packages/babel-plugin-proposal-class-static-block/test/plugin-ordering.test.js @@ -2,7 +2,7 @@ import * as babel from "@babel/core"; import proposalClassStaticBlock from ".."; describe("plugin ordering", () => { - it("should work when @babel/plugin-proposal-class-static-block is after class features plugin", () => { + it("should work when @babel/plugin-proposal-class-static-block is after class features plugin", async () => { const source = `class Foo { static { this.foo = Foo.bar; @@ -11,16 +11,18 @@ describe("plugin ordering", () => { } `; expect( - babel.transform(source, { - filename: "example.js", - highlightCode: false, - configFile: false, - babelrc: false, - plugins: [ - "@babel/plugin-proposal-class-properties", - proposalClassStaticBlock, - ], - }).code, + ( + await babel.transformAsync(source, { + filename: "example.js", + highlightCode: false, + configFile: false, + babelrc: false, + plugins: [ + "@babel/plugin-proposal-class-properties", + proposalClassStaticBlock, + ], + }) + ).code, ).toMatchInlineSnapshot(` "function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/options.json b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/options.json index de23b2ba51e8..b8895c55326f 100644 --- a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/options.json +++ b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/options.json @@ -1,3 +1,3 @@ { - "plugins": ["./plugin-clear-scope", "proposal-object-rest-spread"] + "plugins": ["./plugin-clear-scope.cjs", "proposal-object-rest-spread"] } diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/plugin-clear-scope.js b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/plugin-clear-scope.cjs similarity index 100% rename from packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/plugin-clear-scope.js rename to packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/duplicate-decl-bug/plugin-clear-scope.cjs diff --git a/packages/babel-plugin-proposal-optional-chaining/test/util.test.js b/packages/babel-plugin-proposal-optional-chaining/test/util.test.js index fbf99d64e52e..1b67488baf8a 100644 --- a/packages/babel-plugin-proposal-optional-chaining/test/util.test.js +++ b/packages/babel-plugin-proposal-optional-chaining/test/util.test.js @@ -3,13 +3,20 @@ import { parseSync, traverse } from "@babel/core"; function getPath(input, parserOpts) { let targetPath; - traverse(parseSync(input, { parserOpts, filename: "example.js" }), { - OptionalMemberExpression(path) { - targetPath = path; - path.stop(); + traverse( + parseSync(input, { + configFile: false, + parserOpts, + filename: "example.js", + }), + { + OptionalMemberExpression(path) { + targetPath = path; + path.stop(); + }, + noScope: true, }, - noScope: true, - }); + ); return targetPath; } diff --git a/packages/babel-plugin-transform-modules-amd/src/index.js b/packages/babel-plugin-transform-modules-amd/src/index.js index 737ef30a146c..761ae9e9855c 100644 --- a/packages/babel-plugin-transform-modules-amd/src/index.js +++ b/packages/babel-plugin-transform-modules-amd/src/index.js @@ -10,7 +10,7 @@ import { getModuleName, } from "@babel/helper-module-transforms"; import { template, types as t } from "@babel/core"; -import { getImportSource } from "babel-plugin-dynamic-import-node/utils"; +import { getImportSource } from "babel-plugin-dynamic-import-node/utils.js"; const buildWrapper = template(` define(MODULE_NAME, AMD_ARGUMENTS, function(IMPORT_NAMES) { diff --git a/packages/babel-plugin-transform-modules-commonjs/src/index.js b/packages/babel-plugin-transform-modules-commonjs/src/index.js index d63c9b60f60b..14b2172e7c15 100644 --- a/packages/babel-plugin-transform-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-modules-commonjs/src/index.js @@ -11,7 +11,7 @@ import { import simplifyAccess from "@babel/helper-simple-access"; import { template, types as t } from "@babel/core"; -import { createDynamicImportTransform } from "babel-plugin-dynamic-import-node/utils"; +import { createDynamicImportTransform } from "babel-plugin-dynamic-import-node/utils.js"; export default declare((api, options) => { api.assertVersion(7); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/source-map/exec.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/source-map/exec.js deleted file mode 100644 index c3b5044c0b2b..000000000000 --- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/source-map/exec.js +++ /dev/null @@ -1,33 +0,0 @@ -var tests = [ - 'import "foo";', - 'import foo from "foo";', - 'import {default as foo2} from "foo";', - 'import * as foo from "foo";', - 'import {bar} from "foo";', - 'import {bar2, baz} from "foo";', - 'import {bar as baz2} from "foo";', - 'import {bar as baz3, xyz} from "foo";', - 'import bar, * as bar2 from "foo";', - 'import bar, {bar2, bar3 as bar4} from "foo";', - - 'export var a;', - 'export default function(){};', - 'export default function f(){};', - 'export default 42;', - 'export {foo}; var foo;', - 'export { foo as default }; var foo;', - 'export * from "foo";', - 'export {foo} from "foo";', - 'export {default as foo} from "foo";', -]; - -tests.forEach(function (code) { - var res = transform(code, { - configFile: false, - sourceMap: true, - plugins: opts.plugins - }); - - // Should create mapping - expect(res.map.mappings).not.toBe(''); -}); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/source-map/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/source-map/options.json deleted file mode 100644 index 81e5ce12436d..000000000000 --- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/source-map/options.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "plugins": ["transform-modules-commonjs"] -} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/source-map.js b/packages/babel-plugin-transform-modules-commonjs/test/source-map.js new file mode 100644 index 000000000000..f0a1ef941504 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/source-map.js @@ -0,0 +1,38 @@ +import { transformSync } from "@babel/core"; +import pluginCommonJS from "../lib/index"; + +const tests = [ + 'import "foo";', + 'import foo from "foo";', + 'import {default as foo2} from "foo";', + 'import * as foo from "foo";', + 'import {bar} from "foo";', + 'import {bar2, baz} from "foo";', + 'import {bar as baz2} from "foo";', + 'import {bar as baz3, xyz} from "foo";', + 'import bar, * as bar2 from "foo";', + 'import bar, {bar2, bar3 as bar4} from "foo";', + + "export var a;", + "export default function(){};", + "export default function f(){};", + "export default 42;", + "export {foo}; var foo;", + "export { foo as default }; var foo;", + 'export * from "foo";', + 'export {foo} from "foo";', + 'export {default as foo} from "foo";', +]; + +describe("source maps", () => { + it.each(tests)("%s", code => { + var res = transformSync(code, { + configFile: false, + sourceMap: true, + plugins: [pluginCommonJS], + }); + + // Should create mapping + expect(res.map.mappings).not.toBe(""); + }); +}); diff --git a/packages/babel-plugin-transform-modules-systemjs/src/index.js b/packages/babel-plugin-transform-modules-systemjs/src/index.js index 4dd75d8146cc..95288f1de723 100644 --- a/packages/babel-plugin-transform-modules-systemjs/src/index.js +++ b/packages/babel-plugin-transform-modules-systemjs/src/index.js @@ -1,7 +1,7 @@ import { declare } from "@babel/helper-plugin-utils"; import hoistVariables from "@babel/helper-hoist-variables"; import { template, types as t } from "@babel/core"; -import { getImportSource } from "babel-plugin-dynamic-import-node/utils"; +import { getImportSource } from "babel-plugin-dynamic-import-node/utils.js"; import { rewriteThis, getModuleName } from "@babel/helper-module-transforms"; import { isIdentifierName } from "@babel/helper-validator-identifier"; diff --git a/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/options.json b/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/options.json index 35d2bd9ccce5..575f1d5f5ae8 100644 --- a/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/options.json +++ b/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/options.json @@ -1,6 +1,6 @@ { "plugins": [ - "./plugin.js", + "./plugin.cjs", ["transform-react-jsx-development", { "runtime": "automatic" }] ] } diff --git a/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/plugin.js b/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/plugin.cjs similarity index 100% rename from packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/plugin.js rename to packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/plugin.cjs diff --git a/packages/babel-traverse/test/fixtures/comments/attachment/options.json b/packages/babel-traverse/test/fixtures/comments/attachment/options.json index 41e45fedbaab..92f14acfc46b 100644 --- a/packages/babel-traverse/test/fixtures/comments/attachment/options.json +++ b/packages/babel-traverse/test/fixtures/comments/attachment/options.json @@ -1,3 +1,3 @@ { - "plugins": ["./remove"] + "plugins": ["./remove.cjs"] } diff --git a/packages/babel-traverse/test/fixtures/comments/attachment/remove.js b/packages/babel-traverse/test/fixtures/comments/attachment/remove.cjs similarity index 100% rename from packages/babel-traverse/test/fixtures/comments/attachment/remove.js rename to packages/babel-traverse/test/fixtures/comments/attachment/remove.cjs diff --git a/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/options.json b/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/options.json index 05760686b47b..02421ae824cc 100644 --- a/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/options.json +++ b/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/options.json @@ -1,3 +1,3 @@ { - "plugins": ["syntax-typescript", "./plugin"] + "plugins": ["syntax-typescript", "./plugin.cjs"] } diff --git a/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/plugin.js b/packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/plugin.cjs similarity index 100% rename from packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/plugin.js rename to packages/babel-traverse/test/fixtures/regression/visit-tsfunctiontype-parameters/plugin.cjs diff --git a/packages/babel-traverse/test/fixtures/rename/break-statements/options.json b/packages/babel-traverse/test/fixtures/rename/break-statements/options.json index 14af0e5feac8..b8a610b03556 100644 --- a/packages/babel-traverse/test/fixtures/rename/break-statements/options.json +++ b/packages/babel-traverse/test/fixtures/rename/break-statements/options.json @@ -1,3 +1,3 @@ { - "plugins": ["./plugin"] + "plugins": ["./plugin.cjs"] } diff --git a/packages/babel-traverse/test/fixtures/rename/break-statements/plugin.js b/packages/babel-traverse/test/fixtures/rename/break-statements/plugin.cjs similarity index 100% rename from packages/babel-traverse/test/fixtures/rename/break-statements/plugin.js rename to packages/babel-traverse/test/fixtures/rename/break-statements/plugin.cjs