mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 20:32:10 +00:00
closes #5098 ``` cargo run -p oxc_transform_conformance -- --filter logical-assignment/arrow-functions-transform/input.js Input: var a; a ||= () => {}; a &&= () => {}; a ??= () => {}; Expected: var a; a || (a = () => {}); a && (a = () => {}); a ?? (a = () => {}); Transformed: var a; a || (a = () => {}); a && (a = () => {}); a ?? (a = () => {}); Errors: x Symbol reference IDs mismatch: | after transform: SymbolId(0): [ReferenceId(0), ReferenceId(1), | ReferenceId(2), ReferenceId(3), ReferenceId(4), ReferenceId(5), | ReferenceId(6), ReferenceId(7), ReferenceId(8)] | rebuilt : SymbolId(0): [ReferenceId(0), ReferenceId(1), | ReferenceId(2), ReferenceId(3), ReferenceId(4), ReferenceId(5)] x Reference flags mismatch: | after transform: ReferenceId(4): ReferenceFlags(Write) | rebuilt : ReferenceId(1): ReferenceFlags(Read | Write) x Reference flags mismatch: | after transform: ReferenceId(6): ReferenceFlags(Write) | rebuilt : ReferenceId(3): ReferenceFlags(Read | Write) x Reference flags mismatch: | after transform: ReferenceId(8): ReferenceFlags(Write) | rebuilt : ReferenceId(5): ReferenceFlags(Read | Write) Passed: true ``` |
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| babel.snap.md | ||
| babel_exec.snap.md | ||
| Cargo.toml | ||
| oxc.snap.md | ||
| oxc_exec.snap.md | ||
| README.md | ||
| typescript.snap.md | ||
Transformation Conformance Test Runner
Execution
This test runner uses the transformation plugin test suite from the babel repository.
The failing test cases are listed in ./babel.snap.md
To get started, run
cargo run -p oxc_transform_conformance
or watch for changes
just watch 'run -p oxc_transform_conformance'
Options
--filter
To filter for a specific test case, apply the --filter path option, e.g.
cargo run -p oxc_transform_conformance -- --filter react/arrow-functions
--exec
The babel test suite contains many exec.js files, they need to be executed by a runtime.
Bun is the preferred way to execute these tests, which you may install them via https://bun.sh/docs/installation.
Once bun is installed, apply the --exec flag:
cargo run -p oxc_transform_conformance -- --exec
The failing test cases are listed in ./babel_exec.snap.md.