From c242660dae5a39eaafb8396ae39cd60bfabf8ce5 Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Fri, 18 Sep 2020 19:05:12 +0900 Subject: [PATCH] Add test for declare module --- .../typescript/declare/module/input.ts | 3 ++ .../typescript/declare/module/output.json | 50 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 packages/babel-parser/test/fixtures/typescript/declare/module/input.ts create mode 100644 packages/babel-parser/test/fixtures/typescript/declare/module/output.json diff --git a/packages/babel-parser/test/fixtures/typescript/declare/module/input.ts b/packages/babel-parser/test/fixtures/typescript/declare/module/input.ts new file mode 100644 index 000000000000..fca55e911f17 --- /dev/null +++ b/packages/babel-parser/test/fixtures/typescript/declare/module/input.ts @@ -0,0 +1,3 @@ +declare module m { + function foo() {} +} diff --git a/packages/babel-parser/test/fixtures/typescript/declare/module/output.json b/packages/babel-parser/test/fixtures/typescript/declare/module/output.json new file mode 100644 index 000000000000..ce844216f0ed --- /dev/null +++ b/packages/babel-parser/test/fixtures/typescript/declare/module/output.json @@ -0,0 +1,50 @@ +{ + "type": "File", + "start":0,"end":40,"loc":{"start":{"line":1,"column":0},"end":{"line":3,"column":1}}, + "errors": [ + "SyntaxError: An implementation cannot be declared in ambient contexts. (2:2)" + ], + "program": { + "type": "Program", + "start":0,"end":40,"loc":{"start":{"line":1,"column":0},"end":{"line":3,"column":1}}, + "sourceType": "module", + "interpreter": null, + "body": [ + { + "type": "TSModuleDeclaration", + "start":0,"end":40,"loc":{"start":{"line":1,"column":0},"end":{"line":3,"column":1}}, + "id": { + "type": "Identifier", + "start":15,"end":16,"loc":{"start":{"line":1,"column":15},"end":{"line":1,"column":16},"identifierName":"m"}, + "name": "m" + }, + "body": { + "type": "TSModuleBlock", + "start":17,"end":40,"loc":{"start":{"line":1,"column":17},"end":{"line":3,"column":1}}, + "body": [ + { + "type": "FunctionDeclaration", + "start":21,"end":38,"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":19}}, + "id": { + "type": "Identifier", + "start":30,"end":33,"loc":{"start":{"line":2,"column":11},"end":{"line":2,"column":14},"identifierName":"foo"}, + "name": "foo" + }, + "generator": false, + "async": false, + "params": [], + "body": { + "type": "BlockStatement", + "start":36,"end":38,"loc":{"start":{"line":2,"column":17},"end":{"line":2,"column":19}}, + "body": [], + "directives": [] + } + } + ] + }, + "declare": true + } + ], + "directives": [] + } +} \ No newline at end of file