diff --git a/test/acorn/run.js b/test/acorn/run.js
index bc183b2d6d..4b654cbb47 100755
--- a/test/acorn/run.js
+++ b/test/acorn/run.js
@@ -6,7 +6,6 @@
require("./tests.js");
require("./tests-harmony.js");
require("./tests-flow.js");
- require("./tests-jsx.js");
require("./tests-babel.js");
require("babel/register")
acorn = require("../../lib/acorn")
diff --git a/test/acorn/tests-jsx.js b/test/acorn/tests-jsx.js
deleted file mode 100644
index 68c4af80f9..0000000000
--- a/test/acorn/tests-jsx.js
+++ /dev/null
@@ -1,3647 +0,0 @@
-// React JSX tests
-
-var fbTestFixture = {
- // Taken and adapted from esprima-fb/fbtest.js.
- 'JSX': {
- '': {
- type: "ExpressionStatement",
- expression: {
- type: "JSXElement",
- openingElement: {
- type: "JSXOpeningElement",
- name: {
- type: "JSXIdentifier",
- name: "a",
- range: [1, 2],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 2 }
- }
- },
- selfClosing: true,
- attributes: [],
- range: [0, 5],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 5 }
- }
- },
- closingElement: null,
- children: [],
- range: [0, 5],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 5 }
- }
- },
- range: [0, 5],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 5 }
- }
- },
-
- '': {
- type: 'ExpressionStatement',
- expression: {
- type: 'JSXElement',
- openingElement: {
- type: 'JSXOpeningElement',
- name: {
- type: 'JSXNamespacedName',
- namespace: {
- type: 'JSXIdentifier',
- name: 'n',
- range: [1, 2],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 2 }
- }
- },
- name: {
- type: 'JSXIdentifier',
- name: 'a',
- range: [3, 4],
- loc: {
- start: { line: 1, column: 3 },
- end: { line: 1, column: 4 }
- }
- },
- range: [1, 4],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 4 }
- }
- },
- selfClosing: true,
- attributes: [{
- type: 'JSXAttribute',
- name: {
- type: 'JSXNamespacedName',
- namespace: {
- type: 'JSXIdentifier',
- name: 'n',
- range: [5, 6],
- loc: {
- start: { line: 1, column: 5 },
- end: { line: 1, column: 6 }
- }
- },
- name: {
- type: 'JSXIdentifier',
- name: 'v',
- range: [7, 8],
- loc: {
- start: { line: 1, column: 7 },
- end: { line: 1, column: 8 }
- }
- },
- range: [5, 8],
- loc: {
- start: { line: 1, column: 5 },
- end: { line: 1, column: 8 }
- }
- },
- value: null,
- range: [5, 8],
- loc: {
- start: { line: 1, column: 5 },
- end: { line: 1, column: 8 }
- }
- }],
- range: [0, 11],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 11 }
- }
- },
- closingElement: null,
- children: [],
- range: [0, 11],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 11 }
- }
- },
- range: [0, 11],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 11 }
- }
- },
-
- ' {value} ': {
- type: 'ExpressionStatement',
- expression: {
- type: 'JSXElement',
- openingElement: {
- type: 'JSXOpeningElement',
- name: {
- type: 'JSXIdentifier',
- name: 'a',
- range: [1, 2],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 2 }
- }
- },
- selfClosing: false,
- attributes: [{
- type: 'JSXAttribute',
- name: {
- type: 'JSXNamespacedName',
- namespace: {
- type: 'JSXIdentifier',
- name: 'n',
- range: [3, 4],
- loc: {
- start: { line: 1, column: 3 },
- end: { line: 1, column: 4 }
- }
- },
- name: {
- type: 'JSXIdentifier',
- name: 'foo',
- range: [5, 8],
- loc: {
- start: { line: 1, column: 5 },
- end: { line: 1, column: 8 }
- }
- },
- range: [3, 8],
- loc: {
- start: { line: 1, column: 3 },
- end: { line: 1, column: 8 }
- }
- },
- value: {
- type: 'Literal',
- value: 'bar',
- raw: '"bar"',
- range: [9, 14],
- loc: {
- start: { line: 1, column: 9 },
- end: { line: 1, column: 14 }
- }
- },
- range: [3, 14],
- loc: {
- start: { line: 1, column: 3 },
- end: { line: 1, column: 14 }
- }
- }],
- range: [0, 15],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 15 }
- }
- },
- closingElement: {
- type: 'JSXClosingElement',
- name: {
- type: 'JSXIdentifier',
- name: 'a',
- range: [38, 39],
- loc: {
- start: { line: 1, column: 38 },
- end: { line: 1, column: 39 }
- }
- },
- range: [36, 40],
- loc: {
- start: { line: 1, column: 36 },
- end: { line: 1, column: 40 }
- }
- },
- children: [{
- type: 'Literal',
- value: ' ',
- raw: ' ',
- range: [15, 16],
- loc: {
- start: { line: 1, column: 15 },
- end: { line: 1, column: 16 }
- }
- }, {
- type: 'JSXExpressionContainer',
- expression: {
- type: 'Identifier',
- name: 'value',
- range: [17, 22],
- loc: {
- start: { line: 1, column: 17 },
- end: { line: 1, column: 22 }
- }
- },
- range: [16, 23],
- loc: {
- start: { line: 1, column: 16 },
- end: { line: 1, column: 23 }
- }
- }, {
- type: 'Literal',
- value: ' ',
- raw: ' ',
- range: [23, 24],
- loc: {
- start: { line: 1, column: 23 },
- end: { line: 1, column: 24 }
- }
- }, {
- type: 'JSXElement',
- openingElement: {
- type: 'JSXOpeningElement',
- name: {
- type: 'JSXIdentifier',
- name: 'b',
- range: [25, 26],
- loc: {
- start: { line: 1, column: 25 },
- end: { line: 1, column: 26 }
- }
- },
- selfClosing: false,
- attributes: [],
- range: [24, 27],
- loc: {
- start: { line: 1, column: 24 },
- end: { line: 1, column: 27 }
- }
- },
- closingElement: {
- type: 'JSXClosingElement',
- name: {
- type: 'JSXIdentifier',
- name: 'b',
- range: [34, 35],
- loc: {
- start: { line: 1, column: 34 },
- end: { line: 1, column: 35 }
- }
- },
- range: [32, 36],
- loc: {
- start: { line: 1, column: 32 },
- end: { line: 1, column: 36 }
- }
- },
- children: [{
- type: 'JSXElement',
- openingElement: {
- type: 'JSXOpeningElement',
- name: {
- type: 'JSXIdentifier',
- name: 'c',
- range: [28, 29],
- loc: {
- start: { line: 1, column: 28 },
- end: { line: 1, column: 29 }
- }
- },
- selfClosing: true,
- attributes: [],
- range: [27, 32],
- loc: {
- start: { line: 1, column: 27 },
- end: { line: 1, column: 32 }
- }
- },
- closingElement: null,
- children: [],
- range: [27, 32],
- loc: {
- start: { line: 1, column: 27 },
- end: { line: 1, column: 32 }
- }
- }],
- range: [24, 36],
- loc: {
- start: { line: 1, column: 24 },
- end: { line: 1, column: 36 }
- }
- }],
- range: [0, 40],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 40 }
- }
- },
- range: [0, 40],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 40 }
- }
- },
-
- '': {
- type: "ExpressionStatement",
- expression: {
- type: "JSXElement",
- openingElement: {
- type: "JSXOpeningElement",
- name: {
- type: "JSXIdentifier",
- name: "a",
- range: [1, 2]
- },
- selfClosing: true,
- attributes: [
- {
- type: "JSXAttribute",
- name: {
- type: "JSXIdentifier",
- name: "b",
- range: [3, 4]
- },
- value: {
- type: "JSXExpressionContainer",
- expression: {
- type: "Literal",
- value: " ",
- raw: "\" \"",
- range: [6, 9]
- },
- range: [5, 10]
- },
- range: [3, 10]
- },
- {
- type: "JSXAttribute",
- name: {
- type: "JSXIdentifier",
- name: "c",
- range: [11, 12]
- },
- value: {
- type: "Literal",
- value: " ",
- raw: "\" \"",
- range: [13, 16]
- },
- range: [11, 16]
- },
- {
- type: "JSXAttribute",
- name: {
- type: "JSXIdentifier",
- name: "d",
- range: [17, 18]
- },
- value: {
- type: "Literal",
- value: "&",
- raw: "\"&\"",
- range: [19, 26]
- },
- range: [17, 26]
- },
- {
- type: "JSXAttribute",
- name: {
- type: "JSXIdentifier",
- name: "e",
- range: [27, 28]
- },
- value: {
- type: "Literal",
- value: "&r;",
- raw: "\"&r;\"",
- range: [29, 37]
- },
- range: [27, 37]
- }
- ],
- range: [0, 40]
- },
- closingElement: null,
- children: [],
- range: [0, 40]
- },
- range: [0, 40]
- },
-
- '': {
- type: "ExpressionStatement",
- expression: {
- type: "JSXElement",
- openingElement: {
- type: "JSXOpeningElement",
- name: {
- type: "JSXIdentifier",
- name: "a",
- range: [
- 1,
- 2
- ],
- loc: {
- start: {
- line: 1,
- column: 1
- },
- end: {
- line: 1,
- column: 2
- }
- }
- },
- selfClosing: true,
- attributes: [],
- range: [
- 0,
- 5
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 2,
- column: 2
- }
- }
- },
- closingElement: null,
- children: [],
- range: [
- 0,
- 5
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 2,
- column: 2
- }
- }
- },
- range: [
- 0,
- 5
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 2,
- column: 2
- }
- }
- },
-
- '<日本語>日本語>': {
- type: "ExpressionStatement",
- expression: {
- type: "JSXElement",
- openingElement: {
- type: "JSXOpeningElement",
- name: {
- type: "JSXIdentifier",
- name: "日本語",
- range: [
- 1,
- 4
- ],
- loc: {
- start: {
- line: 1,
- column: 1
- },
- end: {
- line: 1,
- column: 4
- }
- }
- },
- selfClosing: false,
- attributes: [],
- range: [
- 0,
- 5
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 1,
- column: 5
- }
- }
- },
- closingElement: {
- type: "JSXClosingElement",
- name: {
- type: "JSXIdentifier",
- name: "日本語",
- range: [
- 7,
- 10
- ],
- loc: {
- start: {
- line: 1,
- column: 7
- },
- end: {
- line: 1,
- column: 10
- }
- }
- },
- range: [
- 5,
- 11
- ],
- loc: {
- start: {
- line: 1,
- column: 5
- },
- end: {
- line: 1,
- column: 11
- }
- }
- },
- children: [],
- range: [
- 0,
- 11
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 1,
- column: 11
- }
- }
- },
- range: [
- 0,
- 11
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 1,
- column: 11
- }
- }
- },
-
- '\nbar\nbaz\n': {
- type: "ExpressionStatement",
- expression: {
- type: "JSXElement",
- openingElement: {
- type: "JSXOpeningElement",
- name: {
- type: "JSXIdentifier",
- name: "AbC-def",
- range: [
- 1,
- 8
- ],
- loc: {
- start: {
- line: 1,
- column: 1
- },
- end: {
- line: 1,
- column: 8
- }
- }
- },
- selfClosing: false,
- attributes: [
- {
- type: "JSXAttribute",
- name: {
- type: "JSXIdentifier",
- name: "test",
- range: [
- 11,
- 15
- ],
- loc: {
- start: {
- line: 2,
- column: 2
- },
- end: {
- line: 2,
- column: 6
- }
- }
- },
- value: {
- type: "Literal",
- value: "&&",
- raw: "\"&&\"",
- range: [
- 16,
- 31
- ],
- loc: {
- start: {
- line: 2,
- column: 7
- },
- end: {
- line: 2,
- column: 22
- }
- }
- },
- range: [
- 11,
- 31
- ],
- loc: {
- start: {
- line: 2,
- column: 2
- },
- end: {
- line: 2,
- column: 22
- }
- }
- }
- ],
- range: [
- 0,
- 32
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 2,
- column: 23
- }
- }
- },
- closingElement: {
- type: "JSXClosingElement",
- name: {
- type: "JSXIdentifier",
- name: "AbC-def",
- range: [
- 43,
- 50
- ],
- loc: {
- start: {
- line: 5,
- column: 2
- },
- end: {
- line: 5,
- column: 9
- }
- }
- },
- range: [
- 41,
- 51
- ],
- loc: {
- start: {
- line: 5,
- column: 0
- },
- end: {
- line: 5,
- column: 10
- }
- }
- },
- children: [
- {
- type: "Literal",
- value: "\nbar\nbaz\n",
- raw: "\nbar\nbaz\n",
- range: [
- 32,
- 41
- ],
- loc: {
- start: {
- line: 2,
- column: 23
- },
- end: {
- line: 5,
- column: 0
- }
- }
- }
- ],
- range: [
- 0,
- 51
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 5,
- column: 10
- }
- }
- },
- range: [
- 0,
- 51
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 5,
- column: 10
- }
- }
- },
-
- ' : } />': {
- type: "ExpressionStatement",
- expression: {
- type: "JSXElement",
- openingElement: {
- type: "JSXOpeningElement",
- name: {
- type: "JSXIdentifier",
- name: "a",
- range: [
- 1,
- 2
- ],
- loc: {
- start: {
- line: 1,
- column: 1
- },
- end: {
- line: 1,
- column: 2
- }
- }
- },
- selfClosing: true,
- attributes: [
- {
- type: "JSXAttribute",
- name: {
- type: "JSXIdentifier",
- name: "b",
- range: [
- 3,
- 4
- ],
- loc: {
- start: {
- line: 1,
- column: 3
- },
- end: {
- line: 1,
- column: 4
- }
- }
- },
- value: {
- type: "JSXExpressionContainer",
- expression: {
- type: "ConditionalExpression",
- test: {
- type: "Identifier",
- name: "x",
- range: [
- 6,
- 7
- ],
- loc: {
- start: {
- line: 1,
- column: 6
- },
- end: {
- line: 1,
- column: 7
- }
- }
- },
- consequent: {
- type: "JSXElement",
- openingElement: {
- type: "JSXOpeningElement",
- name: {
- type: "JSXIdentifier",
- name: "c",
- range: [
- 11,
- 12
- ],
- loc: {
- start: {
- line: 1,
- column: 11
- },
- end: {
- line: 1,
- column: 12
- }
- }
- },
- selfClosing: true,
- attributes: [],
- range: [
- 10,
- 15
- ],
- loc: {
- start: {
- line: 1,
- column: 10
- },
- end: {
- line: 1,
- column: 15
- }
- }
- },
- closingElement: null,
- children: [],
- range: [
- 10,
- 15
- ],
- loc: {
- start: {
- line: 1,
- column: 10
- },
- end: {
- line: 1,
- column: 15
- }
- }
- },
- alternate: {
- type: "JSXElement",
- openingElement: {
- type: "JSXOpeningElement",
- name: {
- type: "JSXIdentifier",
- name: "d",
- range: [
- 19,
- 20
- ],
- loc: {
- start: {
- line: 1,
- column: 19
- },
- end: {
- line: 1,
- column: 20
- }
- }
- },
- selfClosing: true,
- attributes: [],
- range: [
- 18,
- 23
- ],
- loc: {
- start: {
- line: 1,
- column: 18
- },
- end: {
- line: 1,
- column: 23
- }
- }
- },
- closingElement: null,
- children: [],
- range: [
- 18,
- 23
- ],
- loc: {
- start: {
- line: 1,
- column: 18
- },
- end: {
- line: 1,
- column: 23
- }
- }
- },
- range: [
- 6,
- 23
- ],
- loc: {
- start: {
- line: 1,
- column: 6
- },
- end: {
- line: 1,
- column: 23
- }
- }
- },
- range: [
- 5,
- 24
- ],
- loc: {
- start: {
- line: 1,
- column: 5
- },
- end: {
- line: 1,
- column: 24
- }
- }
- },
- range: [
- 3,
- 24
- ],
- loc: {
- start: {
- line: 1,
- column: 3
- },
- end: {
- line: 1,
- column: 24
- }
- }
- }
- ],
- range: [
- 0,
- 27
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 1,
- column: 27
- }
- }
- },
- closingElement: null,
- children: [],
- range: [
- 0,
- 27
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 1,
- column: 27
- }
- }
- },
- range: [
- 0,
- 27
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 1,
- column: 27
- }
- }
- },
-
- '{}': {
- type: 'ExpressionStatement',
- expression: {
- type: 'JSXElement',
- openingElement: {
- type: 'JSXOpeningElement',
- name: {
- type: 'JSXIdentifier',
- name: 'a',
- range: [1, 2],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 2 }
- }
- },
- selfClosing: false,
- attributes: [],
- range: [0, 3],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 3 }
- }
- },
- closingElement: {
- type: 'JSXClosingElement',
- name: {
- type: 'JSXIdentifier',
- name: 'a',
- range: [7, 8],
- loc: {
- start: { line: 1, column: 7 },
- end: { line: 1, column: 8 }
- }
- },
- range: [5, 9],
- loc: {
- start: { line: 1, column: 5 },
- end: { line: 1, column: 9 }
- }
- },
- children: [{
- type: 'JSXExpressionContainer',
- expression: {
- type: 'JSXEmptyExpression',
- range: [4, 4],
- loc: {
- start: { line: 1, column: 4 },
- end: { line: 1, column: 4 }
- }
- },
- range: [3, 5],
- loc: {
- start: { line: 1, column: 3 },
- end: { line: 1, column: 5 }
- }
- }],
- range: [0, 9],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 9 }
- }
- },
- range: [0, 9],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 9 }
- }
- },
-
- '{/* this is a comment */}': {
- type: 'ExpressionStatement',
- expression: {
- type: 'JSXElement',
- openingElement: {
- type: 'JSXOpeningElement',
- name: {
- type: 'JSXIdentifier',
- name: 'a',
- range: [1, 2],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 2 }
- }
- },
- selfClosing: false,
- attributes: [],
- range: [0, 3],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 3 }
- }
- },
- closingElement: {
- type: 'JSXClosingElement',
- name: {
- type: 'JSXIdentifier',
- name: 'a',
- range: [30, 31],
- loc: {
- start: { line: 1, column: 30 },
- end: { line: 1, column: 31 }
- }
- },
- range: [28, 32],
- loc: {
- start: { line: 1, column: 28 },
- end: { line: 1, column: 32 }
- }
- },
- children: [{
- type: 'JSXExpressionContainer',
- expression: {
- type: 'JSXEmptyExpression',
- range: [4, 27],
- loc: {
- start: { line: 1, column: 4 },
- end: { line: 1, column: 27 }
- }
- },
- range: [3, 28],
- loc: {
- start: { line: 1, column: 3 },
- end: { line: 1, column: 28 }
- }
- }],
- range: [0, 32],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 32 }
- }
- },
- range: [0, 32],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 32 }
- }
- },
-
- '
@test content
': {
- type: 'ExpressionStatement',
- expression: {
- type: 'JSXElement',
- openingElement: {
- type: 'JSXOpeningElement',
- name: {
- type: 'JSXIdentifier',
- name: 'div',
- range: [1, 4],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 4 }
- }
- },
- selfClosing: false,
- attributes: [],
- range: [0, 5],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 5 }
- }
- },
- closingElement: {
- type: 'JSXClosingElement',
- name: {
- type: 'JSXIdentifier',
- name: 'div',
- range: [20, 23],
- loc: {
- start: { line: 1, column: 20 },
- end: { line: 1, column: 23 }
- }
- },
- range: [18, 24],
- loc: {
- start: { line: 1, column: 18 },
- end: { line: 1, column: 24 }
- }
- },
- children: [{
- type: 'Literal',
- value: '@test content',
- raw: '@test content',
- range: [5, 18],
- loc: {
- start: { line: 1, column: 5 },
- end: { line: 1, column: 18 }
- }
- }],
- range: [0, 24],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 24 }
- }
- },
- range: [0, 24],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 24 }
- }
- },
-
- '
7x invalid-js-identifier
': {
- type: 'ExpressionStatement',
- expression: {
- type: 'JSXElement',
- openingElement: {
- type: 'JSXOpeningElement',
- name: {
- type: 'JSXIdentifier',
- name: 'div',
- range: [
- 1,
- 4
- ],
- loc: {
- start: {
- line: 1,
- column: 1
- },
- end: {
- line: 1,
- column: 4
- }
- }
- },
- selfClosing: false,
- attributes: [],
- range: [
- 0,
- 5
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 1,
- column: 5
- }
- }
- },
- closingElement: {
- type: 'JSXClosingElement',
- name: {
- type: 'JSXIdentifier',
- name: 'div',
- range: [
- 37,
- 40
- ],
- loc: {
- start: {
- line: 1,
- column: 37
- },
- end: {
- line: 1,
- column: 40
- }
- }
- },
- range: [
- 35,
- 41
- ],
- loc: {
- start: {
- line: 1,
- column: 35
- },
- end: {
- line: 1,
- column: 41
- }
- }
- },
- children: [{
- type: 'JSXElement',
- openingElement: {
- type: 'JSXOpeningElement',
- name: {
- type: 'JSXIdentifier',
- name: 'br',
- range: [
- 6,
- 8
- ],
- loc: {
- start: {
- line: 1,
- column: 6
- },
- end: {
- line: 1,
- column: 8
- }
- }
- },
- selfClosing: true,
- attributes: [],
- range: [
- 5,
- 11
- ],
- loc: {
- start: {
- line: 1,
- column: 5
- },
- end: {
- line: 1,
- column: 11
- }
- }
- },
- closingElement: null,
- children: [],
- range: [
- 5,
- 11
- ],
- loc: {
- start: {
- line: 1,
- column: 5
- },
- end: {
- line: 1,
- column: 11
- }
- }
- }, {
- type: 'Literal',
- value: '7x invalid-js-identifier',
- raw: '7x invalid-js-identifier',
- range: [
- 11,
- 35
- ],
- loc: {
- start: {
- line: 1,
- column: 11
- },
- end: {
- line: 1,
- column: 35
- }
- }
- }],
- range: [
- 0,
- 41
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 1,
- column: 41
- }
- }
- },
- range: [
- 0,
- 41
- ],
- loc: {
- start: {
- line: 1,
- column: 0
- },
- end: {
- line: 1,
- column: 41
- }
- }
- },
-
- ' right=monkeys /> gorillas />': {
- "type": "ExpressionStatement",
- "expression": {
- "type": "JSXElement",
- "openingElement": {
- "type": "JSXOpeningElement",
- "name": {
- "type": "JSXIdentifier",
- "name": "LeftRight",
- "range": [
- 1,
- 10
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 10
- }
- }
- },
- "selfClosing": true,
- "attributes": [
- {
- "type": "JSXAttribute",
- "name": {
- "type": "JSXIdentifier",
- "name": "left",
- "range": [
- 11,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- "value": {
- "type": "JSXElement",
- "openingElement": {
- "type": "JSXOpeningElement",
- "name": {
- "type": "JSXIdentifier",
- "name": "a",
- "range": [
- 17,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- "selfClosing": true,
- "attributes": [],
- "range": [
- 16,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- closingElement: null,
- "children": [],
- "range": [
- 16,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- "range": [
- 11,
- 21
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 1,
- "column": 21
- }
- }
- },
- {
- "type": "JSXAttribute",
- "name": {
- "type": "JSXIdentifier",
- "name": "right",
- "range": [
- 22,
- 27
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 27
- }
- }
- },
- "value": {
- "type": "JSXElement",
- "openingElement": {
- "type": "JSXOpeningElement",
- "name": {
- "type": "JSXIdentifier",
- "name": "b",
- "range": [
- 29,
- 30
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 1,
- "column": 30
- }
- }
- },
- "selfClosing": false,
- "attributes": [],
- "range": [
- 28,
- 31
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 31
- }
- }
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "name": {
- "type": "JSXIdentifier",
- "name": "b",
- "range": [
- 52,
- 53
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 52
- },
- "end": {
- "line": 1,
- "column": 53
- }
- }
- },
- "range": [
- 50,
- 54
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 50
- },
- "end": {
- "line": 1,
- "column": 54
- }
- }
- },
- "children": [
- {
- "type": "Literal",
- "value": "monkeys /> gorillas",
- "raw": "monkeys /> gorillas",
- "range": [
- 31,
- 50
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 50
- }
- }
- }
- ],
- "range": [
- 28,
- 54
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 54
- }
- }
- },
- "range": [
- 22,
- 54
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 22
- },
- "end": {
- "line": 1,
- "column": 54
- }
- }
- }
- ],
- "range": [
- 0,
- 57
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 57
- }
- }
- },
- closingElement: null,
- "children": [],
- "range": [
- 0,
- 57
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 57
- }
- }
- },
- "range": [
- 0,
- 57
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 57
- }
- }
- },
-
- '': {
- type: 'ExpressionStatement',
- expression: {
- type: 'JSXElement',
- openingElement: {
- type: 'JSXOpeningElement',
- name: {
- type: 'JSXMemberExpression',
- object: {
- type: 'JSXIdentifier',
- name: 'a',
- range: [1, 2],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 2 }
- }
- },
- property: {
- type: 'JSXIdentifier',
- name: 'b',
- range: [3, 4],
- loc: {
- start: { line: 1, column: 3 },
- end: { line: 1, column: 4 }
- }
- },
- range: [1, 4],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 4 }
- }
- },
- selfClosing: false,
- attributes: [],
- range: [0, 5],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 5 }
- }
- },
- closingElement: {
- type: 'JSXClosingElement',
- name: {
- type: 'JSXMemberExpression',
- object: {
- type: 'JSXIdentifier',
- name: 'a',
- range: [7, 8],
- loc: {
- start: { line: 1, column: 7 },
- end: { line: 1, column: 8 }
- }
- },
- property: {
- type: 'JSXIdentifier',
- name: 'b',
- range: [9, 10],
- loc: {
- start: { line: 1, column: 9 },
- end: { line: 1, column: 10 }
- }
- },
- range: [7, 10],
- loc: {
- start: { line: 1, column: 7 },
- end: { line: 1, column: 10 }
- }
- },
- range: [5, 11],
- loc: {
- start: { line: 1, column: 5 },
- end: { line: 1, column: 11 }
- }
- },
- children: [],
- range: [0, 11],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 11 }
- }
- },
- range: [0, 11],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 11 }
- }
- },
-
- '': {
- type: 'ExpressionStatement',
- expression: {
- type: 'JSXElement',
- openingElement: {
- type: 'JSXOpeningElement',
- name: {
- type: 'JSXMemberExpression',
- object: {
- type: 'JSXMemberExpression',
- object: {
- type: 'JSXIdentifier',
- name: 'a',
- range: [1, 2],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 2 }
- }
- },
- property: {
- type: 'JSXIdentifier',
- name: 'b',
- range: [3, 4],
- loc: {
- start: { line: 1, column: 3 },
- end: { line: 1, column: 4 }
- }
- },
- range: [1, 4],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 4 }
- }
- },
- property: {
- type: 'JSXIdentifier',
- name: 'c',
- range: [5, 6],
- loc: {
- start: { line: 1, column: 5 },
- end: { line: 1, column: 6 }
- }
- },
- range: [1, 6],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 6 }
- }
- },
- selfClosing: false,
- attributes: [],
- range: [0, 7],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 7 }
- }
- },
- closingElement: {
- type: 'JSXClosingElement',
- name: {
- type: 'JSXMemberExpression',
- object: {
- type: 'JSXMemberExpression',
- object: {
- type: 'JSXIdentifier',
- name: 'a',
- range: [9, 10],
- loc: {
- start: { line: 1, column: 9 },
- end: { line: 1, column: 10 }
- }
- },
- property: {
- type: 'JSXIdentifier',
- name: 'b',
- range: [11, 12],
- loc: {
- start: { line: 1, column: 11 },
- end: { line: 1, column: 12 }
- }
- },
- range: [9, 12],
- loc: {
- start: { line: 1, column: 9 },
- end: { line: 1, column: 12 }
- }
- },
- property: {
- type: 'JSXIdentifier',
- name: 'c',
- range: [13, 14],
- loc: {
- start: { line: 1, column: 13 },
- end: { line: 1, column: 14 }
- }
- },
- range: [9, 14],
- loc: {
- start: { line: 1, column: 9 },
- end: { line: 1, column: 14 }
- }
- },
- range: [7, 15],
- loc: {
- start: { line: 1, column: 7 },
- end: { line: 1, column: 15 }
- }
- },
- children: [],
- range: [0, 15],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 15 }
- }
- },
- range: [0, 15],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 15 }
- }
- },
-
- // In order to more useful parse errors, we disallow following an
- // JSXElement by a less-than symbol. In the rare case that the binary
- // operator was intended, the tag can be wrapped in parentheses:
- '() < x;': {
- type: 'ExpressionStatement',
- expression: {
- type: 'BinaryExpression',
- operator: '<',
- left: {
- type: 'JSXElement',
- openingElement: {
- type: 'JSXOpeningElement',
- name: {
- type: 'JSXIdentifier',
- name: 'div',
- range: [2, 5],
- loc: {
- start: { line: 1, column: 2 },
- end: { line: 1, column: 5 }
- }
- },
- selfClosing: true,
- attributes: [],
- range: [1, 8],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 8 }
- }
- },
- closingElement: null,
- children: [],
- range: [1, 8],
- loc: {
- start: { line: 1, column: 1 },
- end: { line: 1, column: 8 }
- }
- },
- right: {
- type: 'Identifier',
- name: 'x',
- range: [12, 13],
- loc: {
- start: { line: 1, column: 12 },
- end: { line: 1, column: 13 }
- }
- },
- range: [0, 13],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 13 }
- }
- },
- range: [0, 14],
- loc: {
- start: { line: 1, column: 0 },
- end: { line: 1, column: 14 }
- }
- },
-
- '': {
- "type": "ExpressionStatement",
- "expression": {
- "type": "JSXElement",
- "openingElement": {
- "type": "JSXOpeningElement",
- "name": {
- "type": "JSXIdentifier",
- "name": "div",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- "selfClosing": true,
- "attributes": [
- {
- "type": "JSXSpreadAttribute",
- "argument": {
- "type": "Identifier",
- "name": "props",
- "range": [
- 9,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- "range": [
- 5,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- }
- ],
- "range": [
- 0,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- closingElement: null,
- "children": [],
- "range": [
- 0,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- "range": [
- 0,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
-
- '': {
- "type": "ExpressionStatement",
- "expression": {
- "type": "JSXElement",
- "openingElement": {
- "type": "JSXOpeningElement",
- "name": {
- "type": "JSXIdentifier",
- "name": "div",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- "selfClosing": true,
- "attributes": [
- {
- "type": "JSXSpreadAttribute",
- "argument": {
- "type": "Identifier",
- "name": "props",
- "range": [
- 9,
- 14
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 14
- }
- }
- },
- "range": [
- 5,
- 15
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 15
- }
- }
- },
- {
- "type": "JSXAttribute",
- "name": {
- "type": "JSXIdentifier",
- "name": "post",
- "range": [
- 16,
- 20
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 20
- }
- }
- },
- "value": {
- "type": "Literal",
- "value": "attribute",
- "raw": "\"attribute\"",
- "range": [
- 21,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- },
- "range": [
- 16,
- 32
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 1,
- "column": 32
- }
- }
- }
- ],
- "range": [
- 0,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- },
- closingElement: null,
- "children": [],
- "range": [
- 0,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- },
- "range": [
- 0,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- },
-
- '': {
- "type": "ExpressionStatement",
- "expression": {
- "type": "JSXElement",
- "openingElement": {
- "type": "JSXOpeningElement",
- "name": {
- "type": "JSXIdentifier",
- "name": "div",
- "range": [
- 1,
- 4
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 4
- }
- }
- },
- "selfClosing": false,
- "attributes": [
- {
- "type": "JSXAttribute",
- "name": {
- "type": "JSXIdentifier",
- "name": "pre",
- "range": [
- 5,
- 8
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- }
- },
- "value": {
- "type": "Literal",
- "value": "leading",
- "raw": "\"leading\"",
- "range": [
- 9,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- "range": [
- 5,
- 18
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 18
- }
- }
- },
- {
- "type": "JSXAttribute",
- "name": {
- "type": "JSXIdentifier",
- "name": "pre2",
- "range": [
- 19,
- 23
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 23
- }
- }
- },
- "value": {
- "type": "Literal",
- "value": "attribute",
- "raw": "\"attribute\"",
- "range": [
- 24,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- },
- "range": [
- 19,
- 35
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 19
- },
- "end": {
- "line": 1,
- "column": 35
- }
- }
- },
- {
- "type": "JSXSpreadAttribute",
- "argument": {
- "type": "Identifier",
- "name": "props",
- "range": [
- 40,
- 45
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 45
- }
- }
- },
- "range": [
- 36,
- 46
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 46
- }
- }
- }
- ],
- "range": [
- 0,
- 47
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 47
- }
- }
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "name": {
- "type": "JSXIdentifier",
- "name": "div",
- "range": [
- 49,
- 52
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 49
- },
- "end": {
- "line": 1,
- "column": 52
- }
- }
- },
- "range": [
- 47,
- 53
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 1,
- "column": 53
- }
- }
- },
- "children": [],
- "range": [
- 0,
- 53
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 53
- }
- }
- },
- "range": [
- 0,
- 53
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 53
- }
- }
- },
-
- '{aa.b}
': {
- "type": "ExpressionStatement",
- "start": 0,
- "end": 52,
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "range": [
- 0,
- 52
- ],
- "expression": {
- "type": "JSXElement",
- "start": 0,
- "end": 52,
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "range": [
- 0,
- 52
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "start": 0,
- "end": 31,
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 31
- }
- },
- "range": [
- 0,
- 31
- ],
- "attributes": [
- {
- "type": "JSXAttribute",
- "start": 3,
- "end": 16,
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 3,
- 16
- ],
- "name": {
- "type": "JSXIdentifier",
- "start": 3,
- "end": 5,
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 5
- }
- },
- "range": [
- 3,
- 5
- ],
- "name": "aa"
- },
- "value": {
- "type": "JSXExpressionContainer",
- "start": 6,
- "end": 16,
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 6,
- 16
- ],
- "expression": {
- "type": "MemberExpression",
- "start": 7,
- "end": 15,
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 7,
- 15
- ],
- "object": {
- "type": "MemberExpression",
- "start": 7,
- "end": 12,
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 7,
- 12
- ],
- "object": {
- "type": "Identifier",
- "start": 7,
- "end": 9,
- "loc": {
- "start": {
- "line": 1,
- "column": 7
- },
- "end": {
- "line": 1,
- "column": 9
- }
- },
- "range": [
- 7,
- 9
- ],
- "name": "aa"
- },
- "property": {
- "type": "Identifier",
- "start": 10,
- "end": 12,
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 10,
- 12
- ],
- "name": "bb"
- },
- "computed": false
- },
- "property": {
- "type": "Identifier",
- "start": 13,
- "end": 15,
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 13,
- 15
- ],
- "name": "cc"
- },
- "computed": false
- }
- }
- },
- {
- "type": "JSXAttribute",
- "start": 17,
- "end": 30,
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 17,
- 30
- ],
- "name": {
- "type": "JSXIdentifier",
- "start": 17,
- "end": 19,
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 17,
- 19
- ],
- "name": "bb"
- },
- "value": {
- "type": "JSXExpressionContainer",
- "start": 20,
- "end": 30,
- "loc": {
- "start": {
- "line": 1,
- "column": 20
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 20,
- 30
- ],
- "expression": {
- "type": "MemberExpression",
- "start": 21,
- "end": 29,
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 21,
- 29
- ],
- "object": {
- "type": "MemberExpression",
- "start": 21,
- "end": 26,
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 21,
- 26
- ],
- "object": {
- "type": "Identifier",
- "start": 21,
- "end": 23,
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 1,
- "column": 23
- }
- },
- "range": [
- 21,
- 23
- ],
- "name": "bb"
- },
- "property": {
- "type": "Identifier",
- "start": 24,
- "end": 26,
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 1,
- "column": 26
- }
- },
- "range": [
- 24,
- 26
- ],
- "name": "cc"
- },
- "computed": false
- },
- "property": {
- "type": "Identifier",
- "start": 27,
- "end": 29,
- "loc": {
- "start": {
- "line": 1,
- "column": 27
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 27,
- 29
- ],
- "name": "dd"
- },
- "computed": false
- }
- }
- }
- ],
- "name": {
- "type": "JSXIdentifier",
- "start": 1,
- "end": 2,
- "loc": {
- "start": {
- "line": 1,
- "column": 1
- },
- "end": {
- "line": 1,
- "column": 2
- }
- },
- "range": [
- 1,
- 2
- ],
- "name": "A"
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "start": 48,
- "end": 52,
- "loc": {
- "start": {
- "line": 1,
- "column": 48
- },
- "end": {
- "line": 1,
- "column": 52
- }
- },
- "range": [
- 48,
- 52
- ],
- "name": {
- "type": "JSXIdentifier",
- "start": 50,
- "end": 51,
- "loc": {
- "start": {
- "line": 1,
- "column": 50
- },
- "end": {
- "line": 1,
- "column": 51
- }
- },
- "range": [
- 50,
- 51
- ],
- "name": "A"
- }
- },
- "children": [
- {
- "type": "JSXElement",
- "start": 31,
- "end": 48,
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "range": [
- 31,
- 48
- ],
- "openingElement": {
- "type": "JSXOpeningElement",
- "start": 31,
- "end": 36,
- "loc": {
- "start": {
- "line": 1,
- "column": 31
- },
- "end": {
- "line": 1,
- "column": 36
- }
- },
- "range": [
- 31,
- 36
- ],
- "attributes": [],
- "name": {
- "type": "JSXIdentifier",
- "start": 32,
- "end": 35,
- "loc": {
- "start": {
- "line": 1,
- "column": 32
- },
- "end": {
- "line": 1,
- "column": 35
- }
- },
- "range": [
- 32,
- 35
- ],
- "name": "div"
- },
- "selfClosing": false
- },
- "closingElement": {
- "type": "JSXClosingElement",
- "start": 42,
- "end": 48,
- "loc": {
- "start": {
- "line": 1,
- "column": 42
- },
- "end": {
- "line": 1,
- "column": 48
- }
- },
- "range": [
- 42,
- 48
- ],
- "name": {
- "type": "JSXIdentifier",
- "start": 44,
- "end": 47,
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "range": [
- 44,
- 47
- ],
- "name": "div"
- }
- },
- "children": [
- {
- "type": "JSXExpressionContainer",
- "start": 36,
- "end": 42,
- "loc": {
- "start": {
- "line": 1,
- "column": 36
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "range": [
- 36,
- 42
- ],
- "expression": {
- "type": "MemberExpression",
- "start": 37,
- "end": 41,
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 37,
- 41
- ],
- "object": {
- "type": "Identifier",
- "start": 37,
- "end": 39,
- "loc": {
- "start": {
- "line": 1,
- "column": 37
- },
- "end": {
- "line": 1,
- "column": 39
- }
- },
- "range": [
- 37,
- 39
- ],
- "name": "aa"
- },
- "property": {
- "type": "Identifier",
- "start": 40,
- "end": 41,
- "loc": {
- "start": {
- "line": 1,
- "column": 40
- },
- "end": {
- "line": 1,
- "column": 41
- }
- },
- "range": [
- 40,
- 41
- ],
- "name": "b"
- },
- "computed": false
- }
- }
- ]
- }
- ]
- }
- }
- },
- 'Regression': {
- 'foo bar baz
;': {
- type: "ExpressionStatement",
- start: 0,
- end: 40,
- expression: {
- type: "JSXElement",
- start: 0,
- end: 38,
- openingElement: {
- type: "JSXOpeningElement",
- start: 0,
- end: 3,
- attributes: [],
- name: {
- type: "JSXIdentifier",
- start: 1,
- end: 2,
- name: "p"
- },
- selfClosing: false
- },
- closingElement: {
- type: "JSXClosingElement",
- start: 34,
- end: 38,
- name: {
- type: "JSXIdentifier",
- start: 36,
- end: 37,
- name: "p"
- }
- },
- children: [
- {
- type: "Literal",
- start: 3,
- end: 7,
- value: "foo ",
- raw: "foo "
- },
- {
- type: "JSXElement",
- start: 7,
- end: 30,
- openingElement: {
- type: "JSXOpeningElement",
- start: 7,
- end: 22,
- attributes: [{
- type: "JSXAttribute",
- start: 10,
- end: 21,
- name: {
- type: "JSXIdentifier",
- start: 10,
- end: 14,
- name: "href"
- },
- value: {
- type: "Literal",
- start: 15,
- end: 21,
- value: "test",
- raw: "\"test\""
- }
- }],
- name: {
- type: "JSXIdentifier",
- start: 8,
- end: 9,
- name: "a"
- },
- selfClosing: false
- },
- closingElement: {
- type: "JSXClosingElement",
- start: 26,
- end: 30,
- name: {
- type: "JSXIdentifier",
- start: 28,
- end: 29,
- name: "a"
- }
- },
- children: [{
- type: "Literal",
- start: 22,
- end: 26,
- value: " bar",
- raw: " bar"
- }]
- },
- {
- type: "Literal",
- start: 30,
- end: 34,
- value: " baz",
- raw: " baz"
- }
- ]
- }
- },
-
- '': {
- type: 'ExpressionStatement',
- start: 0,
- end: 30,
- expression: {
- type: 'JSXElement',
- start: 0,
- end: 30,
- openingElement: {
- type: 'JSXOpeningElement',
- start: 0,
- end: 5,
- attributes: [],
- name: {
- type: 'JSXIdentifier',
- start: 1,
- end: 4,
- name: 'div'
- },
- selfClosing: false
- },
- closingElement: {
- type: 'JSXClosingElement',
- start: 24,
- end: 30,
- name: {
- type: 'JSXIdentifier',
- start: 26,
- end: 29,
- name: 'div'
- }
- },
- children: [{
- type: 'JSXExpressionContainer',
- start: 5,
- end: 24,
- expression: {
- type: 'JSXElement',
- start: 6,
- end: 23,
- openingElement: {
- type: 'JSXOpeningElement',
- start: 6,
- end: 23,
- attributes: [
- {
- type: 'JSXSpreadAttribute',
- start: 11,
- end: 20,
- argument: {
- type: 'Identifier',
- start: 15,
- end: 19,
- name: 'test'
- }
- }
- ],
- name: {
- type: 'JSXIdentifier',
- start: 7,
- end: 10,
- name: 'div'
- },
- selfClosing: true
- },
- closingElement: null,
- children: []
- }
- }]
- }
- },
-
- '{ {a} }
': {
- type: "ExpressionStatement",
- start: 0,
- end: 18,
- expression: {
- type: "JSXElement",
- start: 0,
- end: 18,
- openingElement: {
- type: "JSXOpeningElement",
- start: 0,
- end: 5,
- attributes: [],
- name: {
- type: "JSXIdentifier",
- start: 1,
- end: 4,
- name: "div"
- },
- selfClosing: false
- },
- closingElement: {
- type: "JSXClosingElement",
- start: 12,
- end: 18,
- name: {
- type: "JSXIdentifier",
- start: 14,
- end: 17,
- name: "div"
- }
- },
- children: [{
- type: "JSXExpressionContainer",
- start: 5,
- end: 12,
- expression: {
- type: "ObjectExpression",
- start: 7,
- end: 10,
- properties: [{
- type: "Property",
- start: 8,
- end: 9,
- method: false,
- shorthand: true,
- computed: false,
- key: {
- type: "Identifier",
- start: 8,
- end: 9,
- name: "a"
- },
- kind: "init",
- value: {
- type: "Identifier",
- start: 8,
- end: 9,
- name: "a"
- }
- }]
- }
- }]
- }
- },
-
- '/text
': {
- type: "ExpressionStatement",
- start: 0,
- end: 16,
- expression: {
- type: "JSXElement",
- start: 0,
- end: 16,
- openingElement: {
- type: "JSXOpeningElement",
- start: 0,
- end: 5,
- attributes: [],
- name: {
- type: "JSXIdentifier",
- start: 1,
- end: 4,
- name: "div"
- },
- selfClosing: false
- },
- closingElement: {
- type: "JSXClosingElement",
- start: 10,
- end: 16,
- name: {
- type: "JSXIdentifier",
- start: 12,
- end: 15,
- name: "div"
- }
- },
- children: [{
- type: "Literal",
- start: 5,
- end: 10,
- value: "/text",
- raw: "/text"
- }]
- }
- },
-
- '{a}{b}
': {
- type: "ExpressionStatement",
- start: 0,
- end: 17,
- expression: {
- type: "JSXElement",
- start: 0,
- end: 17,
- openingElement: {
- type: "JSXOpeningElement",
- start: 0,
- end: 5,
- attributes: [],
- name: {
- type: "JSXIdentifier",
- start: 1,
- end: 4,
- name: "div"
- },
- selfClosing: false
- },
- closingElement: {
- type: "JSXClosingElement",
- start: 11,
- end: 17,
- name: {
- type: "JSXIdentifier",
- start: 13,
- end: 16,
- name: "div"
- }
- },
- children: [{
- type: 'JSXExpressionContainer',
- expression: {
- type: 'Identifier',
- name: 'a',
- range: [6, 7],
- loc: {
- start: {
- line: 1,
- column: 6
- },
- end: {
- line: 1,
- column: 7
- }
- }
- },
- range: [5, 8],
- loc: {
- start: {
- line: 1,
- column: 5
- },
- end: {
- line: 1,
- column: 8
- }
- }
- }, {
- type: 'JSXExpressionContainer',
- expression: {
- type: 'Identifier',
- name: 'b',
- range: [9, 10],
- loc: {
- start: {
- line: 1,
- column: 9
- },
- end: {
- line: 1,
- column: 10
- }
- }
- },
- range: [8, 11],
- loc: {
- start: {
- line: 1,
- column: 8
- },
- end: {
- line: 1,
- column: 11
- }
- }
- }
- ]
- }
- },
-
- '': {
- type: "ExpressionStatement",
- range: [0, 32],
- expression: {
- type: "JSXElement",
- range: [0, 32],
- openingElement: {
- type: "JSXOpeningElement",
- range: [0, 32],
- attributes: [
- {
- type: "JSXAttribute",
- range: [5, 18],
- name: {
- type: "JSXIdentifier",
- range: [5, 8],
- name: "pre"
- },
- value: {
- type: "Literal",
- range: [9, 18],
- value: "leading"
- }
- },
- {
- type: "JSXSpreadAttribute",
- range: [19, 29],
- argument: {
- type: "Identifier",
- range: [23, 28],
- name: "props"
- }
- }
- ],
- name: {
- type: "JSXIdentifier",
- range: [1, 4],
- name: "div"
- },
- selfClosing: true
- },
- closingElement: null,
- children: []
- }
- },
- '': {
- type: "ExpressionStatement",
- expression: {
- type: "JSXElement",
- range: [0, 64],
- openingElement: {
- type: "JSXOpeningElement",
- range: [0, 64],
- attributes: [
- {
- type: "JSXAttribute",
- range: [6, 62],
- name: {
- type: "JSXIdentifier",
- range: [6, 7],
- name: "d"
- },
- value: {
- type: "Literal",
- range: [8, 62],
- value: "M230 80\n\t\tA 45 45, 0, 1, 0, 275 125 \r\n L 275 80 Z",
- raw: "\"M230 80\n\t\tA 45 45, 0, 1, 0, 275 125 \r\n L 275 80 Z\""
- }
- }
- ],
- name: {
- type: "JSXIdentifier",
- range: [1, 5],
- name: "path"
- },
- selfClosing: true
- },
- closingElement: null,
- children: []
- }
- }
- }
-};
-
-if (typeof exports !== "undefined") {
- var test = require("./driver.js").test;
-}
-
-for (var ns in fbTestFixture) {
- ns = fbTestFixture[ns];
- for (var code in ns) {
- test(code, {
- type: 'Program',
- body: [ns[code]]
- }, {
- ecmaVersion: 6,
- plugins: { jsx: true },
- locations: true,
- ranges: true
- });
- }
-}