summaryrefslogtreecommitdiffstats
path: root/devtools/client/debugger/test/mochitest/browser_dbg_parser-01.js
blob: 8481e2d5ff3f93db314b95b4b727f023c897c977 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* -*- 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/ */

/**
 * Check that simple JS can be parsed and cached with the reflection API.
 */

function test() {
  let { Parser } = Cu.import("resource://devtools/shared/Parser.jsm", {});

  let source = "let x = 42;";
  let parser = new Parser();
  let first = parser.get(source);
  let second = parser.get(source);

  isnot(first, second,
    "The two syntax trees should be different.");

  let third = parser.get(source, "url");
  let fourth = parser.get(source, "url");

  isnot(first, third,
    "The new syntax trees should be different than the old ones.");
  is(third, fourth,
    "The new syntax trees were cached once an identifier was specified.");

  is(parser.errors.length, 0,
    "There should be no errors logged when parsing.");

  finish();
}