From 4d6046f7eeea261759faa63cacdc9193348e3bb1 Mon Sep 17 00:00:00 2001 From: Federico Ciardi Date: Wed, 21 Jul 2021 13:08:00 +0200 Subject: [PATCH] Update tests --- .../{ => passed-in-configuration}/input.js | 0 .../{ => passed-in-configuration}/output.json | 0 .../.babelignore | 0 .../{ => sourceFileName-provided}/.babelrc | 0 .../parse/sourceFileName-provided/input.js | 6 + .../parse/sourceFileName-provided/output.json | 288 ++++++++++++++++++ packages/babel-core/test/parse.js | 22 +- 7 files changed, 314 insertions(+), 2 deletions(-) rename packages/babel-core/test/fixtures/parse/{ => passed-in-configuration}/input.js (100%) rename packages/babel-core/test/fixtures/parse/{ => passed-in-configuration}/output.json (100%) rename packages/babel-core/test/fixtures/parse/{ => sourceFileName-provided}/.babelignore (100%) rename packages/babel-core/test/fixtures/parse/{ => sourceFileName-provided}/.babelrc (100%) create mode 100644 packages/babel-core/test/fixtures/parse/sourceFileName-provided/input.js create mode 100644 packages/babel-core/test/fixtures/parse/sourceFileName-provided/output.json diff --git a/packages/babel-core/test/fixtures/parse/input.js b/packages/babel-core/test/fixtures/parse/passed-in-configuration/input.js similarity index 100% rename from packages/babel-core/test/fixtures/parse/input.js rename to packages/babel-core/test/fixtures/parse/passed-in-configuration/input.js diff --git a/packages/babel-core/test/fixtures/parse/output.json b/packages/babel-core/test/fixtures/parse/passed-in-configuration/output.json similarity index 100% rename from packages/babel-core/test/fixtures/parse/output.json rename to packages/babel-core/test/fixtures/parse/passed-in-configuration/output.json diff --git a/packages/babel-core/test/fixtures/parse/.babelignore b/packages/babel-core/test/fixtures/parse/sourceFileName-provided/.babelignore similarity index 100% rename from packages/babel-core/test/fixtures/parse/.babelignore rename to packages/babel-core/test/fixtures/parse/sourceFileName-provided/.babelignore diff --git a/packages/babel-core/test/fixtures/parse/.babelrc b/packages/babel-core/test/fixtures/parse/sourceFileName-provided/.babelrc similarity index 100% rename from packages/babel-core/test/fixtures/parse/.babelrc rename to packages/babel-core/test/fixtures/parse/sourceFileName-provided/.babelrc diff --git a/packages/babel-core/test/fixtures/parse/sourceFileName-provided/input.js b/packages/babel-core/test/fixtures/parse/sourceFileName-provided/input.js new file mode 100644 index 000000000000..e8d44fe09050 --- /dev/null +++ b/packages/babel-core/test/fixtures/parse/sourceFileName-provided/input.js @@ -0,0 +1,6 @@ +@annotation +class MyClass { } + +function annotation(target) { + target.annotated = true; +} diff --git a/packages/babel-core/test/fixtures/parse/sourceFileName-provided/output.json b/packages/babel-core/test/fixtures/parse/sourceFileName-provided/output.json new file mode 100644 index 000000000000..5c48f0e09836 --- /dev/null +++ b/packages/babel-core/test/fixtures/parse/sourceFileName-provided/output.json @@ -0,0 +1,288 @@ +{ + "type": "File", + "start": 0, + "end": 91, + "errors": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 7, + "column": 0 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 91, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 7, + "column": 0 + } + }, + "interpreter": null, + "sourceType": "module", + "body": [ + { + "type": "ClassDeclaration", + "start": 0, + "end": 29, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 17 + } + }, + "decorators": [ + { + "type": "Decorator", + "start": 0, + "end": 11, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 11 + } + }, + "expression": { + "type": "Identifier", + "start": 1, + "end": 11, + "loc": { + "start": { + "line": 1, + "column": 1 + }, + "end": { + "line": 1, + "column": 11 + }, + "identifierName": "annotation" + }, + "name": "annotation" + } + } + ], + "id": { + "type": "Identifier", + "start": 18, + "end": 25, + "loc": { + "start": { + "line": 2, + "column": 6 + }, + "end": { + "line": 2, + "column": 13 + }, + "identifierName": "MyClass" + }, + "name": "MyClass" + }, + "superClass": null, + "body": { + "type": "ClassBody", + "start": 26, + "end": 29, + "loc": { + "start": { + "line": 2, + "column": 14 + }, + "end": { + "line": 2, + "column": 17 + } + }, + "body": [] + } + }, + { + "type": "FunctionDeclaration", + "start": 31, + "end": 90, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 6, + "column": 1 + } + }, + "id": { + "type": "Identifier", + "start": 40, + "end": 50, + "loc": { + "start": { + "line": 4, + "column": 9 + }, + "end": { + "line": 4, + "column": 19 + }, + "identifierName": "annotation" + }, + "name": "annotation" + }, + "generator": false, + "async": false, + "params": [ + { + "type": "Identifier", + "start": 51, + "end": 57, + "loc": { + "start": { + "line": 4, + "column": 20 + }, + "end": { + "line": 4, + "column": 26 + }, + "identifierName": "target" + }, + "name": "target" + } + ], + "body": { + "type": "BlockStatement", + "start": 59, + "end": 90, + "loc": { + "start": { + "line": 4, + "column": 28 + }, + "end": { + "line": 6, + "column": 1 + } + }, + "body": [ + { + "type": "ExpressionStatement", + "start": 64, + "end": 88, + "loc": { + "start": { + "line": 5, + "column": 3 + }, + "end": { + "line": 5, + "column": 27 + } + }, + "expression": { + "type": "AssignmentExpression", + "start": 64, + "end": 87, + "loc": { + "start": { + "line": 5, + "column": 3 + }, + "end": { + "line": 5, + "column": 26 + } + }, + "operator": "=", + "left": { + "type": "MemberExpression", + "start": 64, + "end": 80, + "loc": { + "start": { + "line": 5, + "column": 3 + }, + "end": { + "line": 5, + "column": 19 + } + }, + "object": { + "type": "Identifier", + "start": 64, + "end": 70, + "loc": { + "start": { + "line": 5, + "column": 3 + }, + "end": { + "line": 5, + "column": 9 + }, + "identifierName": "target" + }, + "name": "target" + }, + "property": { + "type": "Identifier", + "start": 71, + "end": 80, + "loc": { + "start": { + "line": 5, + "column": 10 + }, + "end": { + "line": 5, + "column": 19 + }, + "identifierName": "annotated" + }, + "name": "annotated" + }, + "computed": false + }, + "right": { + "type": "BooleanLiteral", + "start": 83, + "end": 87, + "loc": { + "start": { + "line": 5, + "column": 22 + }, + "end": { + "line": 5, + "column": 26 + } + }, + "value": true + } + } + } + ], + "directives": [] + } + } + ], + "directives": [] + }, + "comments": [] +} diff --git a/packages/babel-core/test/parse.js b/packages/babel-core/test/parse.js index 648cf0edcf30..6e41019b8fcc 100644 --- a/packages/babel-core/test/parse.js +++ b/packages/babel-core/test/parse.js @@ -30,9 +30,27 @@ describe("parse", function () { expect(JSON.parse(JSON.stringify(result))).toEqual(output); }); + it("should parse using the specified sourceFileName", function () { + const input = fs.readFileSync( + fixture("sourceFileName-provided", "input.js"), + "utf8", + ); + const output = require(fixture("sourceFileName-provided", "output.json")); + + const result = parse(input, { + filename: fixture("sourceFileName-provided", "input.js"), + sourceFileName: "input.js", + cwd: fixture(), + }); + expect(JSON.parse(JSON.stringify(result))).toEqual(output); + }); + it("should parse using passed in configuration", function () { - const input = fs.readFileSync(fixture("input.js"), "utf8"); - const output = require(fixture("output.json")); + const input = fs.readFileSync( + fixture("passed-in-configuration", "input.js"), + "utf8", + ); + const output = require(fixture("passed-in-configuration", "output.json")); const result = parse(input, { parserOpts: {