From 3e487f89abe92e3f81fc5f853abe64b3042d08ee Mon Sep 17 00:00:00 2001 From: Justin Ridgewell Date: Mon, 28 Aug 2017 15:36:03 -0400 Subject: [PATCH] Don't merge test options. (#6157) * Don't merge test options. Particularly, I don't want `lodash/merge` to merge my specific plugins with the general test plugins. It led to odd behavior where I could enable a loose transform in my specific test, just to have it overridden by the test fixture's general options. * Need options --- packages/babel-helper-fixtures/src/index.js | 4 ++-- .../test/fixtures/bluebird-coroutines/class/options.json | 3 --- .../test/fixtures/loose/foobar/options.json | 4 ++-- .../throwIfClosureRequired/for-const-closure/options.json | 1 + .../test/fixtures/throwIfClosureRequired/options.json | 2 +- .../spec/derived-constructor-must-call-super/options.json | 3 ++- .../options.json | 3 ++- .../super-reference-before-bare-super-inline/options.json | 3 ++- .../spec/super-reference-before-bare-super/options.json | 3 ++- .../spec/super-reference-before-in-lambda-2/options.json | 3 ++- .../spec/super-reference-before-in-lambda/options.json | 3 +++ .../options.json | 3 ++- .../options.json | 3 ++- .../fixtures/interop/illegal-export-esmodule-2/options.json | 3 ++- .../fixtures/interop/illegal-export-esmodule/options.json | 3 ++- .../test/fixtures/interop/imports-default/options.json | 3 --- .../test/fixtures/interop/imports-mixing/options.json | 3 --- .../test/fixtures/interop/overview/options.json | 3 --- .../fixtures/object-super/super-exponentiation/options.json | 2 +- .../test/fixtures/parameters/regression-4333/options.json | 2 +- .../parameters/rest-async-arrow-functions/options.json | 2 +- .../test/fixtures/errors/new-target-arrow/options.json | 1 + .../test/fixtures/object-rest/symbol-exec/options.json | 5 +---- 23 files changed, 32 insertions(+), 33 deletions(-) delete mode 100644 packages/babel-plugin-transform-async-to-module-method/test/fixtures/bluebird-coroutines/class/options.json create mode 100644 packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-in-lambda/options.json delete mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/imports-default/options.json delete mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/imports-mixing/options.json delete mode 100644 packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/overview/options.json diff --git a/packages/babel-helper-fixtures/src/index.js b/packages/babel-helper-fixtures/src/index.js index 2c82fda796..42324b4237 100644 --- a/packages/babel-helper-fixtures/src/index.js +++ b/packages/babel-helper-fixtures/src/index.js @@ -2,7 +2,7 @@ import cloneDeep from "lodash/cloneDeep"; import trimEnd from "lodash/trimEnd"; import resolve from "try-resolve"; import clone from "lodash/clone"; -import merge from "lodash/merge"; +import extend from "lodash/extend"; import semver from "semver"; import path from "path"; import fs from "fs"; @@ -106,7 +106,7 @@ export default function get(entryLoc): Array { const taskOpts = cloneDeep(suite.options); const taskOptsLoc = resolve(taskDir + "/options"); - if (taskOptsLoc) merge(taskOpts, require(taskOptsLoc)); + if (taskOptsLoc) extend(taskOpts, require(taskOptsLoc)); const test = { optionsDir: taskOptsLoc ? path.dirname(taskOptsLoc) : null, diff --git a/packages/babel-plugin-transform-async-to-module-method/test/fixtures/bluebird-coroutines/class/options.json b/packages/babel-plugin-transform-async-to-module-method/test/fixtures/bluebird-coroutines/class/options.json deleted file mode 100644 index 019532b4f9..0000000000 --- a/packages/babel-plugin-transform-async-to-module-method/test/fixtures/bluebird-coroutines/class/options.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "plugins": ["external-helpers"] -} diff --git a/packages/babel-plugin-transform-class-properties/test/fixtures/loose/foobar/options.json b/packages/babel-plugin-transform-class-properties/test/fixtures/loose/foobar/options.json index c47cf262eb..6a29e191c8 100644 --- a/packages/babel-plugin-transform-class-properties/test/fixtures/loose/foobar/options.json +++ b/packages/babel-plugin-transform-class-properties/test/fixtures/loose/foobar/options.json @@ -1,4 +1,4 @@ { - "plugins": ["external-helpers"], - "presets": ["stage-0", "es2015"] + "plugins": ["external-helpers", ["transform-class-properties", {"loose": true}]], + "presets": ["es2015"] } diff --git a/packages/babel-plugin-transform-es2015-block-scoping/test/fixtures/throwIfClosureRequired/for-const-closure/options.json b/packages/babel-plugin-transform-es2015-block-scoping/test/fixtures/throwIfClosureRequired/for-const-closure/options.json index d210fdebfc..4fa0c55054 100644 --- a/packages/babel-plugin-transform-es2015-block-scoping/test/fixtures/throwIfClosureRequired/for-const-closure/options.json +++ b/packages/babel-plugin-transform-es2015-block-scoping/test/fixtures/throwIfClosureRequired/for-const-closure/options.json @@ -1,3 +1,4 @@ { + "plugins": [["transform-es2015-block-scoping", { "throwIfClosureRequired": true }]], "throws": "Compiling let/const in this block would add a closure (throwIfClosureRequired)." } diff --git a/packages/babel-plugin-transform-es2015-block-scoping/test/fixtures/throwIfClosureRequired/options.json b/packages/babel-plugin-transform-es2015-block-scoping/test/fixtures/throwIfClosureRequired/options.json index 3228559d0b..b9ceb6875a 100644 --- a/packages/babel-plugin-transform-es2015-block-scoping/test/fixtures/throwIfClosureRequired/options.json +++ b/packages/babel-plugin-transform-es2015-block-scoping/test/fixtures/throwIfClosureRequired/options.json @@ -1,3 +1,3 @@ { - "plugins": [["transform-es2015-block-scoping", { "throwIfClosureRequired": true }], "syntax-jsx", "transform-react-jsx", "transform-es2015-block-scoped-functions", "transform-es2015-arrow-functions"] + "plugins": [["transform-es2015-block-scoping", { "throwIfClosureRequired": true }]] } diff --git a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/derived-constructor-must-call-super/options.json b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/derived-constructor-must-call-super/options.json index 2b7d826bab..9d624ae5d2 100644 --- a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/derived-constructor-must-call-super/options.json +++ b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/derived-constructor-must-call-super/options.json @@ -1,3 +1,4 @@ { - "throws": "missing super() call in constructor" + "throws": "missing super() call in constructor", + "plugins": ["transform-es2015-classes"] } diff --git a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-call-only-allowed-in-derived-constructor/options.json b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-call-only-allowed-in-derived-constructor/options.json index 49ce838f4b..80ccd3e842 100644 --- a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-call-only-allowed-in-derived-constructor/options.json +++ b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-call-only-allowed-in-derived-constructor/options.json @@ -1,3 +1,4 @@ { - "throws": "super() is only allowed in a derived constructor" + "throws": "super() is only allowed in a derived constructor", + "plugins": ["transform-es2015-classes"] } diff --git a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-bare-super-inline/options.json b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-bare-super-inline/options.json index fbca946296..c074212710 100644 --- a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-bare-super-inline/options.json +++ b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-bare-super-inline/options.json @@ -1,3 +1,4 @@ { - "throws": "'super.*' is not allowed before super()" + "throws": "'super.*' is not allowed before super()", + "plugins": ["transform-es2015-classes"] } diff --git a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-bare-super/options.json b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-bare-super/options.json index fbca946296..c074212710 100644 --- a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-bare-super/options.json +++ b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-bare-super/options.json @@ -1,3 +1,4 @@ { - "throws": "'super.*' is not allowed before super()" + "throws": "'super.*' is not allowed before super()", + "plugins": ["transform-es2015-classes"] } diff --git a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-in-lambda-2/options.json b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-in-lambda-2/options.json index fbca946296..24e2333aa1 100644 --- a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-in-lambda-2/options.json +++ b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-in-lambda-2/options.json @@ -1,3 +1,4 @@ { - "throws": "'super.*' is not allowed before super()" + "throws": "'super.*' is not allowed before super()", + "plugins": ["external-helpers", "transform-es2015-classes"] } diff --git a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-in-lambda/options.json b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-in-lambda/options.json new file mode 100644 index 0000000000..53a40720bc --- /dev/null +++ b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/super-reference-before-in-lambda/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["external-helpers", "transform-es2015-classes", "transform-es2015-block-scoping"] +} diff --git a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/this-not-allowed-before-super-in-derived-classes-2/options.json b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/this-not-allowed-before-super-in-derived-classes-2/options.json index 73f43b137d..01f9519870 100644 --- a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/this-not-allowed-before-super-in-derived-classes-2/options.json +++ b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/this-not-allowed-before-super-in-derived-classes-2/options.json @@ -1,3 +1,4 @@ { - "throws": "'this' is not allowed before super()" + "throws": "'this' is not allowed before super()", + "plugins": ["transform-es2015-classes"] } diff --git a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/this-not-allowed-before-super-in-derived-classes/options.json b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/this-not-allowed-before-super-in-derived-classes/options.json index 73f43b137d..01f9519870 100644 --- a/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/this-not-allowed-before-super-in-derived-classes/options.json +++ b/packages/babel-plugin-transform-es2015-classes/test/fixtures/spec/this-not-allowed-before-super-in-derived-classes/options.json @@ -1,3 +1,4 @@ { - "throws": "'this' is not allowed before super()" + "throws": "'this' is not allowed before super()", + "plugins": ["transform-es2015-classes"] } diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/illegal-export-esmodule-2/options.json b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/illegal-export-esmodule-2/options.json index affb837b2c..fc84f51852 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/illegal-export-esmodule-2/options.json +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/illegal-export-esmodule-2/options.json @@ -1,3 +1,4 @@ { - "throws": "Illegal export \"__esModule\"" + "throws": "Illegal export \"__esModule\"", + "plugins": ["transform-es2015-modules-commonjs"] } diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/illegal-export-esmodule/options.json b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/illegal-export-esmodule/options.json index affb837b2c..fc84f51852 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/illegal-export-esmodule/options.json +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/illegal-export-esmodule/options.json @@ -1,3 +1,4 @@ { - "throws": "Illegal export \"__esModule\"" + "throws": "Illegal export \"__esModule\"", + "plugins": ["transform-es2015-modules-commonjs"] } diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/imports-default/options.json b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/imports-default/options.json deleted file mode 100644 index 019532b4f9..0000000000 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/imports-default/options.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "plugins": ["external-helpers"] -} diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/imports-mixing/options.json b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/imports-mixing/options.json deleted file mode 100644 index 019532b4f9..0000000000 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/imports-mixing/options.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "plugins": ["external-helpers"] -} diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/overview/options.json b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/overview/options.json deleted file mode 100644 index 019532b4f9..0000000000 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/overview/options.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "plugins": ["external-helpers"] -} diff --git a/packages/babel-plugin-transform-es2015-object-super/test/fixtures/object-super/super-exponentiation/options.json b/packages/babel-plugin-transform-es2015-object-super/test/fixtures/object-super/super-exponentiation/options.json index 4441be11e3..00790824df 100644 --- a/packages/babel-plugin-transform-es2015-object-super/test/fixtures/object-super/super-exponentiation/options.json +++ b/packages/babel-plugin-transform-es2015-object-super/test/fixtures/object-super/super-exponentiation/options.json @@ -1,3 +1,3 @@ { - "plugins": ["transform-es2015-object-super"] + "plugins": ["transform-es2015-object-super", "transform-es2015-shorthand-properties"] } diff --git a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/regression-4333/options.json b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/regression-4333/options.json index 82bc9b4032..0a6d11eb27 100644 --- a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/regression-4333/options.json +++ b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/regression-4333/options.json @@ -1,3 +1,3 @@ { - "plugins": ["transform-es2015-parameters"] + "plugins": ["transform-es2015-parameters", "transform-es2015-block-scoping"] } diff --git a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-async-arrow-functions/options.json b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-async-arrow-functions/options.json index f90a55dbb2..5d393fc204 100644 --- a/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-async-arrow-functions/options.json +++ b/packages/babel-plugin-transform-es2015-parameters/test/fixtures/parameters/rest-async-arrow-functions/options.json @@ -1,3 +1,3 @@ { - "plugins": ["external-helpers", "transform-es2015-parameters", "transform-async-to-generator"] + "plugins": ["external-helpers", "transform-es2015-parameters", "transform-async-to-generator", "transform-es2015-arrow-functions"] } diff --git a/packages/babel-plugin-transform-new-target/test/fixtures/errors/new-target-arrow/options.json b/packages/babel-plugin-transform-new-target/test/fixtures/errors/new-target-arrow/options.json index d0d6a8aae2..bd1ea40794 100644 --- a/packages/babel-plugin-transform-new-target/test/fixtures/errors/new-target-arrow/options.json +++ b/packages/babel-plugin-transform-new-target/test/fixtures/errors/new-target-arrow/options.json @@ -1,3 +1,4 @@ { + "plugins": ["transform-new-target"], "throws": "new.target must be under a (non-arrow) function or a class." } diff --git a/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/symbol-exec/options.json b/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/symbol-exec/options.json index d06cffe703..c0ff6d9c76 100644 --- a/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/symbol-exec/options.json +++ b/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/symbol-exec/options.json @@ -1,6 +1,3 @@ { - "parserOpts": { - "allowReturnOutsideFunction": true - }, - "plugins": [ "transform-es2015-destructuring" ] + "plugins": [ "transform-es2015-destructuring", "transform-object-rest-spread" ] }