1 | "use strict"
|
2 |
|
3 | const fs = require("fs")
|
4 | const path = require("path")
|
5 | const run = require("test262-parser-runner")
|
6 | const acorn = require("acorn")
|
7 | const Parser = acorn.Parser.extend(require("."))
|
8 |
|
9 | const unsupportedFeatures = [
|
10 | "class-fields-public"
|
11 | ]
|
12 |
|
13 | const implementedFeatures = [
|
14 | "class-static-fields-public",
|
15 | "class-static-fields-private",
|
16 | "class-static-methods-private"
|
17 | ]
|
18 |
|
19 | run(
|
20 | (content, options) => Parser.parse(content, {sourceType: options.sourceType, ecmaVersion: 10}),
|
21 | {
|
22 | testsDirectory: path.dirname(require.resolve("test262/package.json")),
|
23 | skip: test => (!test.attrs.features || !implementedFeatures.some(f => test.attrs.features.includes(f)) || unsupportedFeatures.some(f => test.attrs.features.includes(f))),
|
24 | whitelist: fs.readFileSync("./test262.whitelist", "utf8").split("\n").filter(v => v && v[0] !== "#")
|
25 | }
|
26 | )
|