From 84c38182adcd8fbd5fb0cd0ef500db6a769d69d4 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Thu, 18 May 2017 16:20:17 +0300 Subject: [PATCH 1/5] =?UTF-8?q?Add=20usage=20with=20import=20=E2=80=98babe?= =?UTF-8?q?l-polyfill=E2=80=99=20fixture.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../debug-fixtures/usage-with-import/in/in.js | 1 + .../usage-with-import/options.json | 11 +++++++++++ .../usage-with-import/stderr.txt | 2 ++ .../usage-with-import/stdout.txt | 19 +++++++++++++++++++ 4 files changed, 33 insertions(+) create mode 100644 experimental/babel-preset-env/test/debug-fixtures/usage-with-import/in/in.js create mode 100644 experimental/babel-preset-env/test/debug-fixtures/usage-with-import/options.json create mode 100644 experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stderr.txt create mode 100644 experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt diff --git a/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/in/in.js b/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/in/in.js new file mode 100644 index 0000000000..ac43f2a044 --- /dev/null +++ b/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/in/in.js @@ -0,0 +1 @@ +import 'babel-polyfill'; \ No newline at end of file diff --git a/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/options.json b/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/options.json new file mode 100644 index 0000000000..bd129237f8 --- /dev/null +++ b/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/options.json @@ -0,0 +1,11 @@ +{ + "presets": [ + ["../../lib", { + "debug": true, + "targets": { + "chrome": 55 + }, + "useBuiltIns": "usage" + }] + ] +} diff --git a/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stderr.txt b/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stderr.txt new file mode 100644 index 0000000000..1705012e53 --- /dev/null +++ b/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stderr.txt @@ -0,0 +1,2 @@ +When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed. + Please remove the `import 'babel-polyfill'` call or use `useBuiltIns: 'entry'` instead. diff --git a/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt b/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt new file mode 100644 index 0000000000..a4f5066f05 --- /dev/null +++ b/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt @@ -0,0 +1,19 @@ +babel-preset-env: `DEBUG` option + +Using targets: +{ + "chrome": "55" +} + +Using modules transform: commonjs + +Using plugins: + syntax-trailing-function-commas { "chrome":"55" } + +Using polyfills with `usage` option: + + When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed. + Please remove the `import 'babel-polyfill'` call or use `useBuiltIns: 'entry'` instead. + +[index.js] Based on your code and targets, none were added. +src/in.js -> lib/in.js \ No newline at end of file From b0ff26985f08f397d45c79e9087120f3570533c7 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Thu, 20 Apr 2017 15:31:13 +0300 Subject: [PATCH 2/5] Add test for stderr. --- .../babel-preset-env/test/debug-fixtures.js | 41 +++++++++++-------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/experimental/babel-preset-env/test/debug-fixtures.js b/experimental/babel-preset-env/test/debug-fixtures.js index 4f499022da..ce8794e253 100644 --- a/experimental/babel-preset-env/test/debug-fixtures.js +++ b/experimental/babel-preset-env/test/debug-fixtures.js @@ -21,23 +21,31 @@ const saveInFiles = files => { }); }; -const assertTest = (stdout, stderr, opts) => { - stderr = stderr.trim(); +const testOutputType = (type, stdTarg, opts) => { + stdTarg = stdTarg.trim(); + stdTarg = stdTarg.replace(/\\/g, "/"); + const optsTarg = opts[type]; - if (stderr) { - throw new Error("stderr:\n" + stderr); - } - - stdout = stdout.trim(); - stdout = stdout.replace(/\\/g, "/"); - - if (opts.stdout) { - const expectStdout = opts.stdout.trim(); - chai.expect(stdout).to.equal(expectStdout, "stdout didn't match"); + if (optsTarg) { + const expectStdout = optsTarg.trim(); + chai.expect(stdTarg).to.equal(expectStdout, "stdout didn't match"); } else { - const file = path.join(opts.testLoc, "stdout.txt"); + const file = path.join(opts.testLoc, `${type}.txt`); console.log(`New test file created: ${file}`); - fs.outputFileSync(file, stdout); + fs.outputFileSync(file, stdTarg); + } +}; + +const assertTest = (stdout, stderr, opts) => { + // stderr = stderr.trim(); + + // if (stderr) { + // throw new Error("stderr:\n" + stderr); + // } + + testOutputType("stdout", stdout, opts); + if (stderr) { + testOutputType("stderr", stderr, opts); } }; @@ -56,8 +64,8 @@ const buildTest = opts => { let stdout = ""; let stderr = ""; - spawn.stdout.on("data", chunk => stdout += chunk); - spawn.stderr.on("data", chunk => stderr += chunk); + spawn.stdout.on("data", chunk => (stdout += chunk)); + spawn.stderr.on("data", chunk => (stderr += chunk)); spawn.on("close", () => { let err; @@ -77,6 +85,7 @@ describe("debug output", () => { fs.readdirSync(fixtureLoc).forEach(testName => { if (testName.slice(0, 1) === ".") return; const testLoc = path.join(fixtureLoc, testName); + if (testName.slice(0, 1) === ".") return; const opts = { args: ["src", "--out-dir", "lib"], From 4d96adaf3c3b623d964f850e5460e2c49f97872a Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Thu, 18 May 2017 16:43:09 +0300 Subject: [PATCH 3/5] Update stderr for usage with import. --- .../test/debug-fixtures/usage-with-import/stderr.txt | 4 ++-- .../test/debug-fixtures/usage-with-import/stdout.txt | 5 +---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stderr.txt b/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stderr.txt index 1705012e53..3b90ffcb27 100644 --- a/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stderr.txt +++ b/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stderr.txt @@ -1,2 +1,2 @@ -When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed. - Please remove the `import 'babel-polyfill'` call or use `useBuiltIns: 'entry'` instead. + When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed. + Please remove the `import 'babel-polyfill'` call or use `useBuiltIns: 'entry'` instead. \ No newline at end of file diff --git a/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt b/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt index a4f5066f05..8a6c6ef38e 100644 --- a/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt +++ b/experimental/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt @@ -12,8 +12,5 @@ Using plugins: Using polyfills with `usage` option: - When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed. - Please remove the `import 'babel-polyfill'` call or use `useBuiltIns: 'entry'` instead. - -[index.js] Based on your code and targets, none were added. +[src/in.js] Based on your code and targets, none were added. src/in.js -> lib/in.js \ No newline at end of file From d320d0c5878456c9a50950938cddc802f95bc8a4 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Thu, 18 May 2017 16:43:37 +0300 Subject: [PATCH 4/5] Fix stderr file reading. --- experimental/babel-preset-env/test/debug-fixtures.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/experimental/babel-preset-env/test/debug-fixtures.js b/experimental/babel-preset-env/test/debug-fixtures.js index ce8794e253..0d5c8ba06e 100644 --- a/experimental/babel-preset-env/test/debug-fixtures.js +++ b/experimental/babel-preset-env/test/debug-fixtures.js @@ -28,7 +28,7 @@ const testOutputType = (type, stdTarg, opts) => { if (optsTarg) { const expectStdout = optsTarg.trim(); - chai.expect(stdTarg).to.equal(expectStdout, "stdout didn't match"); + chai.expect(stdTarg).to.equal(expectStdout, `${type} didn't match`); } else { const file = path.join(opts.testLoc, `${type}.txt`); console.log(`New test file created: ${file}`); @@ -64,8 +64,8 @@ const buildTest = opts => { let stdout = ""; let stderr = ""; - spawn.stdout.on("data", chunk => (stdout += chunk)); - spawn.stderr.on("data", chunk => (stderr += chunk)); + spawn.stdout.on("data", chunk => stdout += chunk); + spawn.stderr.on("data", chunk => stderr += chunk); spawn.on("close", () => { let err; @@ -93,11 +93,16 @@ describe("debug output", () => { }; const stdoutLoc = path.join(testLoc, "stdout.txt"); + const stderrLoc = path.join(testLoc, "stderr.txt"); if (fs.existsSync(stdoutLoc)) { opts.stdout = helper.readFile(stdoutLoc); } + if (fs.existsSync(stderrLoc)) { + opts.stderr = helper.readFile(stderrLoc); + } + const optionsLoc = path.join(testLoc, "options.json"); if (!fs.existsSync(optionsLoc)) { From ddd6d66bc621c272abf424c096f048760af6b94f Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Thu, 18 May 2017 16:45:33 +0300 Subject: [PATCH 5/5] Remove old comments. --- experimental/babel-preset-env/test/debug-fixtures.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/experimental/babel-preset-env/test/debug-fixtures.js b/experimental/babel-preset-env/test/debug-fixtures.js index 0d5c8ba06e..0f470b734f 100644 --- a/experimental/babel-preset-env/test/debug-fixtures.js +++ b/experimental/babel-preset-env/test/debug-fixtures.js @@ -37,12 +37,6 @@ const testOutputType = (type, stdTarg, opts) => { }; const assertTest = (stdout, stderr, opts) => { - // stderr = stderr.trim(); - - // if (stderr) { - // throw new Error("stderr:\n" + stderr); - // } - testOutputType("stdout", stdout, opts); if (stderr) { testOutputType("stderr", stderr, opts);