mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 20:32:10 +00:00
Amend test added in #7991 to test transform of `super[prop] = value` where `prop` is not bound. We should ideally have the `_unbound` temp vars *inside* the arrow function rather than outside, as Babel does, but that's not possible with our double-visitor scheme at present, and I think current output will operate correctly anyway. Probably these temp vars could be hoisted even higher up - to very top level of the file, even if the class and `super[prop]` were deeply nested in many functions - and it'd still be correct. That'd be good for transformer performance as less `var` statements to insert, and also slightly smaller output size - less `var`s in code. But I don't know if that would be worse for runtime performance, as it makes the arrow function more impure. 🤔 |
||
|---|---|---|
| .. | ||
| overrides | ||
| snapshots | ||
| src | ||
| tests | ||
| .gitignore | ||
| Cargo.toml | ||
| package.json | ||
| README.md | ||
| reporter.mjs | ||
| update_fixtures.mjs | ||
Transformation Conformance Test Runner
Execution
This test runner uses the transformation plugin test suite from the Babel repository.
Additional tests are in the tests directory.
The failing test cases are listed in:
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, which 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.