diff options
Diffstat (limited to 'devtools/client/debugger/test/mochitest/browser_dbg_parser-computed-name.js')
-rw-r--r-- | devtools/client/debugger/test/mochitest/browser_dbg_parser-computed-name.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_parser-computed-name.js b/devtools/client/debugger/test/mochitest/browser_dbg_parser-computed-name.js new file mode 100644 index 000000000..085f9781b --- /dev/null +++ b/devtools/client/debugger/test/mochitest/browser_dbg_parser-computed-name.js @@ -0,0 +1,32 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set ft=javascript ts=2 et sw=2 tw=80: */ +/* 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("({ [i]: 1 })"); + let nodes = SyntaxTreeVisitor.filter(ast, e => e.type == "ComputedName"); + ok(nodes && nodes.length === 1, "Found the ComputedName node"); + + let name = nodes[0].name; + ok(name, "The ComputedName node has a name property"); + is(name.type, "Identifier", "The name has a correct type"); + is(name.name, "i", "The name has a correct name"); + + let identNodes = SyntaxTreeVisitor.filter(ast, e => e.type == "Identifier"); + ok(identNodes && identNodes.length === 1, "Found the Identifier node"); + + is(identNodes[0].type, "Identifier", "The identifier has a correct type"); + is(identNodes[0].name, "i", "The identifier has a correct name"); + + finish(); +} |