2023-10-09 08:36:11 +09:00
|
|
|
const invalidSyntaxTests = [
|
|
|
|
|
"invalid-destructuring-arr.js",
|
|
|
|
|
"invalid-destructuring-obj.js",
|
|
|
|
|
"invalid-fn-param-arrow.js",
|
|
|
|
|
"invalid-fn-param.js",
|
|
|
|
|
"invalid-fn-param-assign.js",
|
|
|
|
|
"invalid-for-await-of.js",
|
|
|
|
|
"invalid-for-in.js",
|
|
|
|
|
"invalid-for-of.js",
|
|
|
|
|
"invalid-inc-postfix.js",
|
|
|
|
|
"invalid-inc-prefix.js",
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
const optionalChainingAssignTests = [
|
|
|
|
|
"valid-lhs-eq.js",
|
|
|
|
|
"valid-lhs-plus-eq.js",
|
|
|
|
|
"valid-parenthesized.js",
|
|
|
|
|
"valid-complex-case.js",
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
// meriyah can parse these files
|
|
|
|
|
const meriyahCanParse = new Set(["valid-lhs-eq.js", "valid-lhs-plus-eq.js"]);
|
|
|
|
|
|
2024-01-19 17:20:24 +08:00
|
|
|
runFormatTest(import.meta, ["babel"], {
|
2023-10-09 08:36:11 +09:00
|
|
|
errors: {
|
|
|
|
|
acorn: [...optionalChainingAssignTests, ...invalidSyntaxTests],
|
|
|
|
|
espree: [...optionalChainingAssignTests, ...invalidSyntaxTests],
|
|
|
|
|
meriyah: [
|
|
|
|
|
...optionalChainingAssignTests.filter(
|
|
|
|
|
(test) => !meriyahCanParse.has(test),
|
|
|
|
|
),
|
|
|
|
|
...invalidSyntaxTests,
|
|
|
|
|
],
|
2025-05-27 09:35:31 +08:00
|
|
|
oxc: [...optionalChainingAssignTests, ...invalidSyntaxTests],
|
2025-05-27 13:32:23 +08:00
|
|
|
"oxc-ts": [...optionalChainingAssignTests, ...invalidSyntaxTests],
|
2026-07-15 01:53:00 +08:00
|
|
|
yuku: [...optionalChainingAssignTests, ...invalidSyntaxTests],
|
2026-07-15 17:29:50 +08:00
|
|
|
"yuku-ts": [...optionalChainingAssignTests, ...invalidSyntaxTests],
|
2023-10-09 08:36:11 +09:00
|
|
|
babel: invalidSyntaxTests,
|
|
|
|
|
__babel_estree: invalidSyntaxTests,
|
|
|
|
|
},
|
|
|
|
|
});
|