summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/modules/shell-parse.js
blob: d01f10aaa2ea9b2d8bcda4d4b7e0eb567729c924 (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
// Exercise shell parseModule function.

function testEvalError(source) {
    // Test |source| throws when passed to eval.
    var caught = false;
    try {
        eval(source);
    } catch (e) {
        caught = true;
    }
    assertEq(caught, true);
}

function testModuleSource(source) {
    // Test |source| parses as a module, but throws when passed to eval.
    testEvalError(source);
    parseModule(source);
}

parseModule("");
parseModule("const foo = 1;");
parseModule("var foo = 1;");
parseModule("let foo = 1; var bar = 2; const baz = 3");

testModuleSource("import * as ns from 'bar';");
testModuleSource("export { a } from 'b';");
testModuleSource("export * from 'b';");
testModuleSource("export const foo = 1;");
testModuleSource("export default function() {};");
testModuleSource("export default 1;");