From ee1eb590775e95adda7596b96f6fc75b6f1a660b Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Tue, 23 Aug 2016 18:29:40 -0400 Subject: [PATCH] Latest tests (#3674) * add preset-latest tests * test for es2015-preset spec option --- .../test/fixtures/preset-options/spec/actual.js | 7 +++++++ .../test/fixtures/preset-options/spec/expected.js | 15 +++++++++++++++ .../fixtures/preset-options/spec/options.json | 8 ++++++++ packages/babel-preset-latest/package.json | 3 +++ packages/babel-preset-latest/src/index.js | 8 +++++--- .../preset-options/es2015-false/actual.js | 5 +++++ .../preset-options/es2015-false/expected.js | 5 +++++ .../preset-options/es2015-false/options.json | 5 +++++ .../preset-options/es2015-options/actual.js | 5 +++++ .../preset-options/es2015-options/expected.js | 8 ++++++++ .../preset-options/es2015-options/options.json | 5 +++++ .../preset-options/es2016-false/actual.js | 5 +++++ .../preset-options/es2016-false/expected.js | 7 +++++++ .../preset-options/es2016-false/options.json | 5 +++++ packages/babel-preset-latest/test/index.js | 1 + 15 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 packages/babel-preset-es2015/test/fixtures/preset-options/spec/actual.js create mode 100644 packages/babel-preset-es2015/test/fixtures/preset-options/spec/expected.js create mode 100644 packages/babel-preset-es2015/test/fixtures/preset-options/spec/options.json create mode 100644 packages/babel-preset-latest/test/fixtures/preset-options/es2015-false/actual.js create mode 100644 packages/babel-preset-latest/test/fixtures/preset-options/es2015-false/expected.js create mode 100644 packages/babel-preset-latest/test/fixtures/preset-options/es2015-false/options.json create mode 100644 packages/babel-preset-latest/test/fixtures/preset-options/es2015-options/actual.js create mode 100644 packages/babel-preset-latest/test/fixtures/preset-options/es2015-options/expected.js create mode 100644 packages/babel-preset-latest/test/fixtures/preset-options/es2015-options/options.json create mode 100644 packages/babel-preset-latest/test/fixtures/preset-options/es2016-false/actual.js create mode 100644 packages/babel-preset-latest/test/fixtures/preset-options/es2016-false/expected.js create mode 100644 packages/babel-preset-latest/test/fixtures/preset-options/es2016-false/options.json create mode 100644 packages/babel-preset-latest/test/index.js diff --git a/packages/babel-preset-es2015/test/fixtures/preset-options/spec/actual.js b/packages/babel-preset-es2015/test/fixtures/preset-options/spec/actual.js new file mode 100644 index 0000000000..6ccc1175dd --- /dev/null +++ b/packages/babel-preset-es2015/test/fixtures/preset-options/spec/actual.js @@ -0,0 +1,7 @@ +`1${a}`; + +() => {}; + +function a() { + () => {} +} diff --git a/packages/babel-preset-es2015/test/fixtures/preset-options/spec/expected.js b/packages/babel-preset-es2015/test/fixtures/preset-options/spec/expected.js new file mode 100644 index 0000000000..971ccffce5 --- /dev/null +++ b/packages/babel-preset-es2015/test/fixtures/preset-options/spec/expected.js @@ -0,0 +1,15 @@ +"use strict"; + +"1" + String(a); + +(function () { + babelHelpers.newArrowCheck(undefined, undefined); +}).bind(undefined); + +function a() { + var _this = this; + + (function () { + babelHelpers.newArrowCheck(this, _this); + }).bind(this); +} diff --git a/packages/babel-preset-es2015/test/fixtures/preset-options/spec/options.json b/packages/babel-preset-es2015/test/fixtures/preset-options/spec/options.json new file mode 100644 index 0000000000..a39414553e --- /dev/null +++ b/packages/babel-preset-es2015/test/fixtures/preset-options/spec/options.json @@ -0,0 +1,8 @@ +{ + "presets": [ + ["es2015", { "spec": true }] + ], + "plugins": [ + "external-helpers" + ] +} diff --git a/packages/babel-preset-latest/package.json b/packages/babel-preset-latest/package.json index 1b6fc8b222..34807e3b45 100644 --- a/packages/babel-preset-latest/package.json +++ b/packages/babel-preset-latest/package.json @@ -11,5 +11,8 @@ "babel-preset-es2015": "^6.9.0", "babel-preset-es2016": "^6.11.3", "babel-preset-es2017": "^2.0.0" + }, + "devDependencies": { + "babel-helper-plugin-test-runner": "^6.8.0" } } diff --git a/packages/babel-preset-latest/src/index.js b/packages/babel-preset-latest/src/index.js index e04d88b8c5..f6470efbdd 100644 --- a/packages/babel-preset-latest/src/index.js +++ b/packages/babel-preset-latest/src/index.js @@ -1,9 +1,11 @@ +const { buildPreset } = require("babel-preset-es2015"); + module.exports = function preset(context, opts = {}) { return { presets: [ - opts.es2015 !== false && [require("babel-preset-es2015"), opts.es2015], - opts.es2016 !== false && [require("babel-preset-es2016"), opts.es2016], - opts.es2017 !== false && [require("babel-preset-es2017"), opts.es2017] + opts.es2015 !== false && [buildPreset, opts.es2015], + opts.es2016 !== false && require("babel-preset-es2016"), + opts.es2017 !== false && require("babel-preset-es2017") ].filter(Boolean) }; }; diff --git a/packages/babel-preset-latest/test/fixtures/preset-options/es2015-false/actual.js b/packages/babel-preset-latest/test/fixtures/preset-options/es2015-false/actual.js new file mode 100644 index 0000000000..f06c9e4843 --- /dev/null +++ b/packages/babel-preset-latest/test/fixtures/preset-options/es2015-false/actual.js @@ -0,0 +1,5 @@ +// keep es2015 +let b = 1; + +// transform es2016 +a ** b; diff --git a/packages/babel-preset-latest/test/fixtures/preset-options/es2015-false/expected.js b/packages/babel-preset-latest/test/fixtures/preset-options/es2015-false/expected.js new file mode 100644 index 0000000000..b22bad7b33 --- /dev/null +++ b/packages/babel-preset-latest/test/fixtures/preset-options/es2015-false/expected.js @@ -0,0 +1,5 @@ +// keep es2015 +let b = 1; + +// transform es2016 +Math.pow(a, b); diff --git a/packages/babel-preset-latest/test/fixtures/preset-options/es2015-false/options.json b/packages/babel-preset-latest/test/fixtures/preset-options/es2015-false/options.json new file mode 100644 index 0000000000..16eec761a7 --- /dev/null +++ b/packages/babel-preset-latest/test/fixtures/preset-options/es2015-false/options.json @@ -0,0 +1,5 @@ +{ + "presets": [ + ["latest", { "es2015": false }] + ] +} diff --git a/packages/babel-preset-latest/test/fixtures/preset-options/es2015-options/actual.js b/packages/babel-preset-latest/test/fixtures/preset-options/es2015-options/actual.js new file mode 100644 index 0000000000..39ecbb0811 --- /dev/null +++ b/packages/babel-preset-latest/test/fixtures/preset-options/es2015-options/actual.js @@ -0,0 +1,5 @@ +// transform es2015 with loose +export var a = 1; + +// transform es2016 +a ** b; diff --git a/packages/babel-preset-latest/test/fixtures/preset-options/es2015-options/expected.js b/packages/babel-preset-latest/test/fixtures/preset-options/es2015-options/expected.js new file mode 100644 index 0000000000..431c0ec701 --- /dev/null +++ b/packages/babel-preset-latest/test/fixtures/preset-options/es2015-options/expected.js @@ -0,0 +1,8 @@ +"use strict"; + +exports.__esModule = true; +// transform es2015 with loose +var a = exports.a = 1; + +// transform es2016 +Math.pow(a, b); diff --git a/packages/babel-preset-latest/test/fixtures/preset-options/es2015-options/options.json b/packages/babel-preset-latest/test/fixtures/preset-options/es2015-options/options.json new file mode 100644 index 0000000000..67c1a8a78b --- /dev/null +++ b/packages/babel-preset-latest/test/fixtures/preset-options/es2015-options/options.json @@ -0,0 +1,5 @@ +{ + "presets": [ + ["latest", { "es2015": { "loose": true } }] + ] +} diff --git a/packages/babel-preset-latest/test/fixtures/preset-options/es2016-false/actual.js b/packages/babel-preset-latest/test/fixtures/preset-options/es2016-false/actual.js new file mode 100644 index 0000000000..0212c827aa --- /dev/null +++ b/packages/babel-preset-latest/test/fixtures/preset-options/es2016-false/actual.js @@ -0,0 +1,5 @@ +// transform es2015 +let b = 1; + +// keep es2016 +a ** b; diff --git a/packages/babel-preset-latest/test/fixtures/preset-options/es2016-false/expected.js b/packages/babel-preset-latest/test/fixtures/preset-options/es2016-false/expected.js new file mode 100644 index 0000000000..10c36fd8c3 --- /dev/null +++ b/packages/babel-preset-latest/test/fixtures/preset-options/es2016-false/expected.js @@ -0,0 +1,7 @@ +"use strict"; + +// transform es2015 +var b = 1; + +// keep es2016 +a ** b; diff --git a/packages/babel-preset-latest/test/fixtures/preset-options/es2016-false/options.json b/packages/babel-preset-latest/test/fixtures/preset-options/es2016-false/options.json new file mode 100644 index 0000000000..cb2342bf2c --- /dev/null +++ b/packages/babel-preset-latest/test/fixtures/preset-options/es2016-false/options.json @@ -0,0 +1,5 @@ +{ + "presets": [ + ["latest", { "es2016": false }] + ] +} diff --git a/packages/babel-preset-latest/test/index.js b/packages/babel-preset-latest/test/index.js new file mode 100644 index 0000000000..1f6634aabd --- /dev/null +++ b/packages/babel-preset-latest/test/index.js @@ -0,0 +1 @@ +require("babel-helper-plugin-test-runner")(__dirname);