summaryrefslogtreecommitdiffstats
path: root/devtools/client/debugger/src/workers/parser/utils/tests/ast.spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/debugger/src/workers/parser/utils/tests/ast.spec.js')
-rw-r--r--devtools/client/debugger/src/workers/parser/utils/tests/ast.spec.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/devtools/client/debugger/src/workers/parser/utils/tests/ast.spec.js b/devtools/client/debugger/src/workers/parser/utils/tests/ast.spec.js
new file mode 100644
index 0000000000..e8d2964205
--- /dev/null
+++ b/devtools/client/debugger/src/workers/parser/utils/tests/ast.spec.js
@@ -0,0 +1,41 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
+
+import { getAst } from "../ast";
+import { setSource } from "../../sources";
+import cases from "jest-in-case";
+
+import { makeMockSourceAndContent } from "../../../../utils/test-mockup";
+
+const astKeys = [
+ "type",
+ "start",
+ "end",
+ "loc",
+ "errors",
+ "program",
+ "comments",
+ "tokens",
+];
+
+cases(
+ "ast.getAst",
+ ({ name }) => {
+ const source = makeMockSourceAndContent(undefined, "foo", name, "2");
+ setSource({
+ id: source.id,
+ text: source.content.value || "",
+ contentType: source.content.contentType,
+ isWasm: false,
+ });
+ const ast = getAst("foo");
+ expect(ast && Object.keys(ast)).toEqual(astKeys);
+ },
+ [
+ { name: "text/javascript" },
+ { name: "application/javascript" },
+ { name: "application/x-javascript" },
+ { name: "text/jsx" },
+ ]
+);