oxc/tasks/transform_conformance
overlookmotel 5cf253c216 test(transformer/class-properties): more testing for assignment to super[prop] (#7992)
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. 🤔
2024-12-18 12:49:42 +00:00
..
overrides fix(transformer/class-properties): use UID for args in created class constructor (#7866) 2024-12-14 04:18:48 +00:00
snapshots feat(transformer/class-properties): transform super assignment expressions within static prop initializer (#7991) 2024-12-18 11:28:39 +00:00
src refactor(global): sort imports (#7883) 2024-12-14 15:07:21 +00:00
tests test(transformer/class-properties): more testing for assignment to super[prop] (#7992) 2024-12-18 12:49:42 +00:00
.gitignore chore(transformer_conformance): only ignore root fixtures directory (#7198) 2024-11-08 02:36:22 +00:00
Cargo.toml ci(transformer): move post-transform checker to tasks crate (#6288) 2024-10-05 14:48:37 +00:00
package.json test(transformer): make update fixtures script .mjs (#7892) 2024-12-14 15:29:21 +00:00
README.md test(transformer): update transform conformance README (#5919) 2024-09-20 11:46:44 +01:00
reporter.mjs test(transformer): fix exec test reporter (#7722) 2024-12-08 01:41:30 +00:00
update_fixtures.mjs test(transformer): make update fixtures script .mjs (#7892) 2024-12-14 15:29:21 +00:00

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.