|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 /** |
|
5 * Check that simple JS can be parsed and cached with the reflection API. |
|
6 */ |
|
7 |
|
8 function test() { |
|
9 let { Parser } = Cu.import("resource:///modules/devtools/Parser.jsm", {}); |
|
10 |
|
11 let source = "let x = 42;"; |
|
12 let parser = new Parser(); |
|
13 let first = parser.get(source); |
|
14 let second = parser.get(source); |
|
15 |
|
16 isnot(first, second, |
|
17 "The two syntax trees should be different."); |
|
18 |
|
19 let third = parser.get(source, "url"); |
|
20 let fourth = parser.get(source, "url"); |
|
21 |
|
22 isnot(first, third, |
|
23 "The new syntax trees should be different than the old ones."); |
|
24 is(third, fourth, |
|
25 "The new syntax trees were cached once an identifier was specified."); |
|
26 |
|
27 is(parser.errors.length, 0, |
|
28 "There should be no errors logged when parsing."); |
|
29 |
|
30 finish(); |
|
31 } |