File: browser_dbg_parser-01.js

package info (click to toggle)
iceweasel 31.6.0esr-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 1,368,576 kB
  • sloc: cpp: 3,692,968; ansic: 1,797,194; python: 193,401; java: 180,622; asm: 133,557; xml: 89,288; sh: 71,748; perl: 22,087; makefile: 21,687; objc: 4,014; yacc: 1,995; pascal: 1,292; lex: 950; exp: 449; lisp: 228; awk: 211; php: 113; sed: 43; csh: 31; ada: 16; ruby: 3
file content (31 lines) | stat: -rw-r--r-- 861 bytes parent folder | download | duplicates (7)
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
/* 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:///modules/devtools/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();
}