From 7d3a30615bcd53d28d7eb1ae109804c115710d30 Mon Sep 17 00:00:00 2001 From: Lucas Duailibe Date: Wed, 3 Jan 2018 11:36:25 -0300 Subject: [PATCH] Don't add () in JSX attributes with elements (#3640) --- src/language-js/printer-estree.js | 1 + .../__snapshots__/jsfmt.spec.js.snap | 20 +++++++++++++++++++ tests/jsx-attr-element/attr-element.js | 2 ++ tests/jsx-attr-element/jsfmt.spec.js | 2 ++ 4 files changed, 25 insertions(+) create mode 100644 tests/jsx-attr-element/__snapshots__/jsfmt.spec.js.snap create mode 100644 tests/jsx-attr-element/attr-element.js create mode 100644 tests/jsx-attr-element/jsfmt.spec.js diff --git a/src/language-js/printer-estree.js b/src/language-js/printer-estree.js index fd52d8d2..447c012a 100644 --- a/src/language-js/printer-estree.js +++ b/src/language-js/printer-estree.js @@ -4477,6 +4477,7 @@ function maybeWrapJSXElementInParens(path, elem) { const NO_WRAP_PARENTS = { ArrayExpression: true, + JSXAttribute: true, JSXElement: true, JSXExpressionContainer: true, JSXFragment: true, diff --git a/tests/jsx-attr-element/__snapshots__/jsfmt.spec.js.snap b/tests/jsx-attr-element/__snapshots__/jsfmt.spec.js.snap new file mode 100644 index 00000000..c1ec5a95 --- /dev/null +++ b/tests/jsx-attr-element/__snapshots__/jsfmt.spec.js.snap @@ -0,0 +1,20 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`attr-element.js 1`] = ` + />; + />; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +/>; + + + + + +/>; + +`; diff --git a/tests/jsx-attr-element/attr-element.js b/tests/jsx-attr-element/attr-element.js new file mode 100644 index 00000000..f31bd230 --- /dev/null +++ b/tests/jsx-attr-element/attr-element.js @@ -0,0 +1,2 @@ + />; + />; diff --git a/tests/jsx-attr-element/jsfmt.spec.js b/tests/jsx-attr-element/jsfmt.spec.js new file mode 100644 index 00000000..ad02d22b --- /dev/null +++ b/tests/jsx-attr-element/jsfmt.spec.js @@ -0,0 +1,2 @@ +// Flow and TypeScript don't support JSX elements as attribute values +run_spec(__dirname, ["babylon"]);