From 40805894c573bd513d4784246c90c6af625cf57c Mon Sep 17 00:00:00 2001 From: Noah Lemen Date: Mon, 28 Aug 2017 14:57:09 -0400 Subject: [PATCH] default to spec mode for template literal transform (#6098) * spec/loose/default switch for template literal transform, update/re-org tests * update readme * flip if statements * consolidate else/if * readme wording modification, updates to examples --- .../README.md | 17 +++++--------- .../src/index.js | 10 ++++----- .../escape-quotes/actual.js | 0 .../escape-quotes/expected.js | 0 .../{normal => default}/functions/actual.js | 0 .../{spec => default}/functions/expected.js | 0 .../{spec => default}/literals/actual.js | 0 .../{spec => default}/literals/expected.js | 0 .../{normal => default}/multiline/actual.js | 0 .../{normal => default}/multiline/expected.js | 0 .../{normal => default}/multiple/actual.js | 0 .../{spec => default}/multiple/expected.js | 0 .../{normal => default}/none/actual.js | 0 .../{normal => default}/none/expected.js | 0 .../{normal => default}/only/actual.js | 0 .../{spec => default}/only/expected.js | 0 .../fixtures/{normal => default}/options.json | 0 .../fixtures/{spec => default}/order/exec.js | 0 .../{spec => default}/order/options.json | 0 .../fixtures/{spec => default}/order2/exec.js | 0 .../{spec => default}/order2/options.json | 0 .../{normal => default}/single/actual.js | 0 .../{spec => default}/single/expected.js | 0 .../{normal => default}/statement/actual.js | 0 .../{spec => default}/statement/expected.js | 0 .../fixtures/{spec => default}/symbol/exec.js | 0 .../template-revision}/actual.js | 0 .../template-revision/expected.js | 0 .../{spec => loose}/escape-quotes/actual.js | 0 .../escape-quotes/expected.js | 0 .../expression-first/actual.js | 0 .../expression-first/expected.js | 0 .../{spec => loose}/functions/actual.js | 0 .../{normal => loose}/functions/expected.js | 0 .../{spec => loose}/multiline/actual.js | 0 .../{spec => loose}/multiline/expected.js | 0 .../{spec => loose}/multiple/actual.js | 0 .../{normal => loose}/multiple/expected.js | 0 .../fixtures/{spec => loose}/none/actual.js | 0 .../fixtures/{spec => loose}/none/expected.js | 0 .../fixtures/{spec => loose}/only/actual.js | 0 .../{normal => loose}/only/expected.js | 0 .../test/fixtures/loose/options.json | 3 +++ .../fixtures/{spec => loose}/single/actual.js | 0 .../{normal => loose}/single/expected.js | 0 .../{spec => loose}/statement/actual.js | 0 .../{normal => loose}/statement/expected.js | 0 .../fixtures/{normal => loose}/tag/actual.js | 0 .../test/fixtures/loose/tag/expected.js | 5 +++++ .../template-revision/actual.js | 0 .../template-revision}/expected.js | 0 .../test/fixtures/normal/tag-loose/actual.js | 3 --- .../fixtures/normal/tag-loose/expected.js | 9 -------- .../fixtures/normal/tag-loose/options.json | 3 --- .../test/fixtures/normal/tag/expected.js | 5 ----- .../template-revision-loose/options.json | 3 --- .../test/fixtures/spec/options.json | 3 --- .../fixtures/spec/template-revision/actual.js | 13 ----------- .../spec/template-revision/expected.js | 22 ------------------- 59 files changed, 18 insertions(+), 78 deletions(-) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => default}/escape-quotes/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => default}/escape-quotes/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => default}/functions/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => default}/functions/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => default}/literals/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => default}/literals/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => default}/multiline/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => default}/multiline/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => default}/multiple/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => default}/multiple/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => default}/none/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => default}/none/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => default}/only/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => default}/only/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => default}/options.json (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => default}/order/exec.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => default}/order/options.json (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => default}/order2/exec.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => default}/order2/options.json (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => default}/single/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => default}/single/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => default}/statement/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => default}/statement/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => default}/symbol/exec.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal/template-revision-loose => default/template-revision}/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => default}/template-revision/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => loose}/escape-quotes/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => loose}/escape-quotes/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => loose}/expression-first/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => loose}/expression-first/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => loose}/functions/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => loose}/functions/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => loose}/multiline/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => loose}/multiline/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => loose}/multiple/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => loose}/multiple/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => loose}/none/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => loose}/none/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => loose}/only/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => loose}/only/expected.js (100%) create mode 100644 packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/options.json rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => loose}/single/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => loose}/single/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{spec => loose}/statement/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => loose}/statement/expected.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => loose}/tag/actual.js (100%) create mode 100644 packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/tag/expected.js rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal => loose}/template-revision/actual.js (100%) rename packages/babel-plugin-transform-es2015-template-literals/test/fixtures/{normal/template-revision-loose => loose/template-revision}/expected.js (100%) delete mode 100644 packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag-loose/actual.js delete mode 100644 packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag-loose/expected.js delete mode 100644 packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag-loose/options.json delete mode 100644 packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag/expected.js delete mode 100644 packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/template-revision-loose/options.json delete mode 100644 packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/options.json delete mode 100644 packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/template-revision/actual.js delete mode 100644 packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/template-revision/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/README.md b/packages/babel-plugin-transform-es2015-template-literals/README.md index cdd6654c1e..dd6cc00ecc 100644 --- a/packages/babel-plugin-transform-es2015-template-literals/README.md +++ b/packages/babel-plugin-transform-es2015-template-literals/README.md @@ -13,7 +13,7 @@ **Out** ```javascript -"foo" + bar; +"foo".concat(bar); ``` ## Installation @@ -42,8 +42,7 @@ With options: { "plugins": [ ["transform-es2015-template-literals", { - "loose": true, - "spec": true + "loose": true }] ] } @@ -69,22 +68,18 @@ require("babel-core").transform("code", { `boolean`, defaults to `false`. -In loose mode, tagged template literal objects aren't frozen. +When `true`, tagged template literal objects aren't frozen. All template literal expressions and quasis are combined with the `+` operator instead of with `String.prototype.concat`. -### `spec` - -`boolean`, defaults to `false`. - -This option combines all template literal expressions and quasis with `String.prototype.concat`. It will handle cases with `Symbol.toPrimitive` correctly and throw correctly if template literal expression is a `Symbol()`. See [babel/babel#5791](https://github.com/babel/babel/pull/5791). +When `false` or not set, all template literal expressions and quasis are combined with `String.prototype.concat`. It will handle cases with `Symbol.toPrimitive` correctly and throw correctly if template literal expression is a `Symbol()`. See [babel/babel#5791](https://github.com/babel/babel/pull/5791). **In** ```javascript -`foo${bar}baz${quux}${1}`; +`foo${bar}`; ``` **Out** ```javascript -"foo".concat(bar, "baz").concat(quux, 1); +"foo" + bar; ``` diff --git a/packages/babel-plugin-transform-es2015-template-literals/src/index.js b/packages/babel-plugin-transform-es2015-template-literals/src/index.js index f6ae7951f1..0c7d9aacdc 100644 --- a/packages/babel-plugin-transform-es2015-template-literals/src/index.js +++ b/packages/babel-plugin-transform-es2015-template-literals/src/index.js @@ -75,20 +75,18 @@ export default function({ types: t }) { // since `+` is left-to-right associative // ensure the first node is a string if first/second isn't const considerSecondNode = - state.opts.spec || !t.isStringLiteral(nodes[1]); + !state.opts.loose || !t.isStringLiteral(nodes[1]); if (!t.isStringLiteral(nodes[0]) && considerSecondNode) { nodes.unshift(t.stringLiteral("")); } let root = nodes[0]; - if (state.opts.spec) { - if (nodes.length > 1) { - root = buildConcatCallExressions(nodes); - } - } else { + if (state.opts.loose) { for (let i = 1; i < nodes.length; i++) { root = t.binaryExpression("+", root, nodes[i]); } + } else if (nodes.length > 1) { + root = buildConcatCallExressions(nodes); } path.replaceWith(root); diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/escape-quotes/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/escape-quotes/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/escape-quotes/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/escape-quotes/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/escape-quotes/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/escape-quotes/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/escape-quotes/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/escape-quotes/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/functions/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/functions/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/functions/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/functions/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/functions/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/functions/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/functions/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/functions/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/literals/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/literals/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/literals/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/literals/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/literals/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/literals/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/literals/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/literals/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/multiline/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/multiline/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/multiline/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/multiline/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/multiline/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/multiline/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/multiline/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/multiline/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/multiple/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/multiple/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/multiple/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/multiple/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/multiple/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/multiple/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/multiple/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/multiple/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/none/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/none/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/none/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/none/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/none/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/none/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/none/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/none/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/only/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/only/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/only/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/only/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/only/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/only/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/only/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/only/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/options.json b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/options.json similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/options.json rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/options.json diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/order/exec.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/order/exec.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/order/exec.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/order/exec.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/order/options.json b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/order/options.json similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/order/options.json rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/order/options.json diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/order2/exec.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/order2/exec.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/order2/exec.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/order2/exec.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/order2/options.json b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/order2/options.json similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/order2/options.json rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/order2/options.json diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/single/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/single/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/single/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/single/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/single/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/single/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/single/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/single/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/statement/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/statement/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/statement/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/statement/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/statement/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/statement/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/statement/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/statement/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/symbol/exec.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/symbol/exec.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/symbol/exec.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/symbol/exec.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/template-revision-loose/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/template-revision/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/template-revision-loose/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/template-revision/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/template-revision/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/template-revision/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/template-revision/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/default/template-revision/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/escape-quotes/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/escape-quotes/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/escape-quotes/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/escape-quotes/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/escape-quotes/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/escape-quotes/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/escape-quotes/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/escape-quotes/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/expression-first/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/expression-first/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/expression-first/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/expression-first/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/expression-first/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/expression-first/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/expression-first/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/expression-first/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/functions/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/functions/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/functions/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/functions/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/functions/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/functions/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/functions/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/functions/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/multiline/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/multiline/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/multiline/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/multiline/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/multiline/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/multiline/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/multiline/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/multiline/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/multiple/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/multiple/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/multiple/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/multiple/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/multiple/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/multiple/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/multiple/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/multiple/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/none/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/none/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/none/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/none/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/none/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/none/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/none/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/none/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/only/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/only/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/only/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/only/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/only/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/only/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/only/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/only/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/options.json b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/options.json new file mode 100644 index 0000000000..aa69c5e6f6 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["transform-es2015-template-literals", {"loose": true}]] +} diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/single/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/single/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/single/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/single/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/single/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/single/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/single/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/single/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/statement/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/statement/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/statement/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/statement/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/statement/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/statement/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/statement/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/statement/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/tag/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/tag/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/tag/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/tag/expected.js new file mode 100644 index 0000000000..a8bf66d461 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/tag/expected.js @@ -0,0 +1,5 @@ +var _templateObject = _taggedTemplateLiteralLoose(["wow\na", "b ", ""], ["wow\\na", "b ", ""]); + +function _taggedTemplateLiteralLoose(strings, raw) { strings.raw = raw; return strings; } + +var foo = bar(_templateObject, 42, _.foobar()); diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/template-revision/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/template-revision/actual.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/template-revision/actual.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/template-revision/actual.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/template-revision-loose/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/template-revision/expected.js similarity index 100% rename from packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/template-revision-loose/expected.js rename to packages/babel-plugin-transform-es2015-template-literals/test/fixtures/loose/template-revision/expected.js diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag-loose/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag-loose/actual.js deleted file mode 100644 index 52419bb505..0000000000 --- a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag-loose/actual.js +++ /dev/null @@ -1,3 +0,0 @@ -var foo = bar`wow\na${ 42 }b ${_.foobar()}`; -var bar = bar`wow\nab${ 42 } ${_.foobar()}`; -var bar = bar`wow\naB${ 42 } ${_.baz()}`; diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag-loose/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag-loose/expected.js deleted file mode 100644 index d8563b0301..0000000000 --- a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag-loose/expected.js +++ /dev/null @@ -1,9 +0,0 @@ -var _templateObject = _taggedTemplateLiteralLoose(["wow\na", "b ", ""], ["wow\\na", "b ", ""]), - _templateObject2 = _taggedTemplateLiteralLoose(["wow\nab", " ", ""], ["wow\\nab", " ", ""]), - _templateObject3 = _taggedTemplateLiteralLoose(["wow\naB", " ", ""], ["wow\\naB", " ", ""]); - -function _taggedTemplateLiteralLoose(strings, raw) { strings.raw = raw; return strings; } - -var foo = bar(_templateObject, 42, _.foobar()); -var bar = bar(_templateObject2, 42, _.foobar()); -var bar = bar(_templateObject3, 42, _.baz()); diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag-loose/options.json b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag-loose/options.json deleted file mode 100644 index 434ba0caa6..0000000000 --- a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag-loose/options.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "plugins": [["transform-es2015-template-literals", { "loose": true }]] -} diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag/expected.js deleted file mode 100644 index 947ec93f83..0000000000 --- a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/tag/expected.js +++ /dev/null @@ -1,5 +0,0 @@ -var _templateObject = _taggedTemplateLiteral(["wow\na", "b ", ""], ["wow\\na", "b ", ""]); - -function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } - -var foo = bar(_templateObject, 42, _.foobar()); diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/template-revision-loose/options.json b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/template-revision-loose/options.json deleted file mode 100644 index 434ba0caa6..0000000000 --- a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/normal/template-revision-loose/options.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "plugins": [["transform-es2015-template-literals", { "loose": true }]] -} diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/options.json b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/options.json deleted file mode 100644 index f59495d3a0..0000000000 --- a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/options.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "plugins": [["transform-es2015-template-literals", { "spec": true }]] -} diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/template-revision/actual.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/template-revision/actual.js deleted file mode 100644 index 66ea5a01ea..0000000000 --- a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/template-revision/actual.js +++ /dev/null @@ -1,13 +0,0 @@ -tag`\unicode and \u{55}`; - -tag`\01`; -tag`\xg${0}right`; -tag`left${0}\xg`; -tag`left${0}\xg${1}right`; -tag`left${0}\u000g${1}right`; -tag`left${0}\u{-0}${1}right`; - -function a() { - var undefined = 4; - tag`\01`; -} diff --git a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/template-revision/expected.js b/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/template-revision/expected.js deleted file mode 100644 index 8803ddc742..0000000000 --- a/packages/babel-plugin-transform-es2015-template-literals/test/fixtures/spec/template-revision/expected.js +++ /dev/null @@ -1,22 +0,0 @@ -var _templateObject = _taggedTemplateLiteral([void 0], ["\\unicode and \\u{55}"]), - _templateObject2 = _taggedTemplateLiteral([void 0], ["\\01"]), - _templateObject3 = _taggedTemplateLiteral([void 0, "right"], ["\\xg", "right"]), - _templateObject4 = _taggedTemplateLiteral(["left", void 0], ["left", "\\xg"]), - _templateObject5 = _taggedTemplateLiteral(["left", void 0, "right"], ["left", "\\xg", "right"]), - _templateObject6 = _taggedTemplateLiteral(["left", void 0, "right"], ["left", "\\u000g", "right"]), - _templateObject7 = _taggedTemplateLiteral(["left", void 0, "right"], ["left", "\\u{-0}", "right"]); - -function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } - -tag(_templateObject); -tag(_templateObject2); -tag(_templateObject3, 0); -tag(_templateObject4, 0); -tag(_templateObject5, 0, 1); -tag(_templateObject6, 0, 1); -tag(_templateObject7, 0, 1); - -function a() { - var undefined = 4; - tag(_templateObject2); -}