Files
UXP-Fixed/devtools/client/debugger/test/mochitest/browser_dbg_parser-template-strings.js
Moonchild a680bdc637 Issue #1656 - Part 1: Nuke most vim config lines in the tree.
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-23 13:55:00 +00:00

29 lines
878 B
JavaScript

/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
/**
* Test that template strings are correctly processed.
*/
"use strict";
function test() {
let { Parser, SyntaxTreeVisitor } =
Cu.import("resource://devtools/shared/Parser.jsm", {});
let ast = Parser.reflectionAPI.parse("`foo${i}bar`");
let nodes = SyntaxTreeVisitor.filter(ast, e => e.type == "TemplateLiteral");
ok(nodes && nodes.length === 1, "Found the TemplateLiteral node");
let elements = nodes[0].elements;
ok(elements, "The TemplateLiteral node has elements");
is(elements.length, 3, "There are 3 elements in the literal");
["Literal", "Identifier", "Literal"].forEach((type, i) => {
is(elements[i].type, type, `Element at index ${i} is '${type}'`);
});
finish();
}