diff --git a/packages/babel-parser/test/fixtures/placeholders/variable/let-context-1/input.js b/packages/babel-parser/test/fixtures/placeholders/variable/let-context-1/input.js new file mode 100644 index 000000000000..bf6a13277e1e --- /dev/null +++ b/packages/babel-parser/test/fixtures/placeholders/variable/let-context-1/input.js @@ -0,0 +1 @@ +if (cond) let; diff --git a/packages/babel-parser/test/fixtures/placeholders/variable/let-context-1/output.json b/packages/babel-parser/test/fixtures/placeholders/variable/let-context-1/output.json new file mode 100644 index 000000000000..802a167efe4a --- /dev/null +++ b/packages/babel-parser/test/fixtures/placeholders/variable/let-context-1/output.json @@ -0,0 +1,32 @@ +{ + "type": "File", + "start":0,"end":14,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":14}}, + "program": { + "type": "Program", + "start":0,"end":14,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":14}}, + "sourceType": "script", + "interpreter": null, + "body": [ + { + "type": "IfStatement", + "start":0,"end":14,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":14}}, + "test": { + "type": "Identifier", + "start":4,"end":8,"loc":{"start":{"line":1,"column":4},"end":{"line":1,"column":8},"identifierName":"cond"}, + "name": "cond" + }, + "consequent": { + "type": "ExpressionStatement", + "start":10,"end":14,"loc":{"start":{"line":1,"column":10},"end":{"line":1,"column":14}}, + "expression": { + "type": "Identifier", + "start":10,"end":13,"loc":{"start":{"line":1,"column":10},"end":{"line":1,"column":13},"identifierName":"let"}, + "name": "let" + } + }, + "alternate": null + } + ], + "directives": [] + } +} \ No newline at end of file diff --git a/packages/babel-parser/test/fixtures/placeholders/variable/let-context-2/input.js b/packages/babel-parser/test/fixtures/placeholders/variable/let-context-2/input.js new file mode 100644 index 000000000000..e95ede29caae --- /dev/null +++ b/packages/babel-parser/test/fixtures/placeholders/variable/let-context-2/input.js @@ -0,0 +1,2 @@ +if (cond) let +%%LHS%% = %%RHS%% diff --git a/packages/babel-parser/test/fixtures/placeholders/variable/let-context-2/output.json b/packages/babel-parser/test/fixtures/placeholders/variable/let-context-2/output.json new file mode 100644 index 000000000000..7034064509e8 --- /dev/null +++ b/packages/babel-parser/test/fixtures/placeholders/variable/let-context-2/output.json @@ -0,0 +1,61 @@ +{ + "type": "File", + "start":0,"end":31,"loc":{"start":{"line":1,"column":0},"end":{"line":2,"column":17}}, + "program": { + "type": "Program", + "start":0,"end":31,"loc":{"start":{"line":1,"column":0},"end":{"line":2,"column":17}}, + "sourceType": "script", + "interpreter": null, + "body": [ + { + "type": "IfStatement", + "start":0,"end":13,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":13}}, + "test": { + "type": "Identifier", + "start":4,"end":8,"loc":{"start":{"line":1,"column":4},"end":{"line":1,"column":8},"identifierName":"cond"}, + "name": "cond" + }, + "consequent": { + "type": "ExpressionStatement", + "start":10,"end":13,"loc":{"start":{"line":1,"column":10},"end":{"line":1,"column":13}}, + "expression": { + "type": "Identifier", + "start":10,"end":13,"loc":{"start":{"line":1,"column":10},"end":{"line":1,"column":13},"identifierName":"let"}, + "name": "let" + } + }, + "alternate": null + }, + { + "type": "ExpressionStatement", + "start":14,"end":31,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":17}}, + "expression": { + "type": "AssignmentExpression", + "start":14,"end":31,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":17}}, + "operator": "=", + "left": { + "type": "Placeholder", + "start":14,"end":21,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":7}}, + "name": { + "type": "Identifier", + "start":16,"end":19,"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":5},"identifierName":"LHS"}, + "name": "LHS" + }, + "expectedNode": "Pattern" + }, + "right": { + "type": "Placeholder", + "start":24,"end":31,"loc":{"start":{"line":2,"column":10},"end":{"line":2,"column":17}}, + "name": { + "type": "Identifier", + "start":26,"end":29,"loc":{"start":{"line":2,"column":12},"end":{"line":2,"column":15},"identifierName":"RHS"}, + "name": "RHS" + }, + "expectedNode": "Expression" + } + } + } + ], + "directives": [] + } +} \ No newline at end of file diff --git a/packages/babel-parser/test/fixtures/placeholders/variable/let-context-3/input.js b/packages/babel-parser/test/fixtures/placeholders/variable/let-context-3/input.js new file mode 100644 index 000000000000..fc13dfd5ccd2 --- /dev/null +++ b/packages/babel-parser/test/fixtures/placeholders/variable/let-context-3/input.js @@ -0,0 +1 @@ +if (cond) let %%LHS%% = %%RHS%%; diff --git a/packages/babel-parser/test/fixtures/placeholders/variable/let-context-3/output.json b/packages/babel-parser/test/fixtures/placeholders/variable/let-context-3/output.json new file mode 100644 index 000000000000..d4fef28640ba --- /dev/null +++ b/packages/babel-parser/test/fixtures/placeholders/variable/let-context-3/output.json @@ -0,0 +1,64 @@ +{ + "type": "File", + "start":0,"end":32,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":32}}, + "errors": [ + "SyntaxError: Missing semicolon (1:13)" + ], + "program": { + "type": "Program", + "start":0,"end":32,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":32}}, + "sourceType": "script", + "interpreter": null, + "body": [ + { + "type": "IfStatement", + "start":0,"end":13,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":13}}, + "test": { + "type": "Identifier", + "start":4,"end":8,"loc":{"start":{"line":1,"column":4},"end":{"line":1,"column":8},"identifierName":"cond"}, + "name": "cond" + }, + "consequent": { + "type": "ExpressionStatement", + "start":10,"end":13,"loc":{"start":{"line":1,"column":10},"end":{"line":1,"column":13}}, + "expression": { + "type": "Identifier", + "start":10,"end":13,"loc":{"start":{"line":1,"column":10},"end":{"line":1,"column":13},"identifierName":"let"}, + "name": "let" + } + }, + "alternate": null + }, + { + "type": "ExpressionStatement", + "start":14,"end":32,"loc":{"start":{"line":1,"column":14},"end":{"line":1,"column":32}}, + "expression": { + "type": "AssignmentExpression", + "start":14,"end":31,"loc":{"start":{"line":1,"column":14},"end":{"line":1,"column":31}}, + "operator": "=", + "left": { + "type": "Placeholder", + "start":14,"end":21,"loc":{"start":{"line":1,"column":14},"end":{"line":1,"column":21}}, + "name": { + "type": "Identifier", + "start":16,"end":19,"loc":{"start":{"line":1,"column":16},"end":{"line":1,"column":19},"identifierName":"LHS"}, + "name": "LHS" + }, + "expectedNode": "Pattern" + }, + "right": { + "type": "Placeholder", + "start":24,"end":31,"loc":{"start":{"line":1,"column":24},"end":{"line":1,"column":31}}, + "name": { + "type": "Identifier", + "start":26,"end":29,"loc":{"start":{"line":1,"column":26},"end":{"line":1,"column":29},"identifierName":"RHS"}, + "name": "RHS" + }, + "expectedNode": "Expression" + } + } + } + ], + "directives": [] + } +} \ No newline at end of file