Skip to content

Commit

Permalink
test(transformer/class-properties): add static super tagged template …
Browse files Browse the repository at this point in the history
…test (#7964)

I just found that we don't need to transform `TaggedTemplateExpression` because its `tag` can be transformed by `transform_static_member_expression` and `transform_computed_member_expression`
  • Loading branch information
Dunqing committed Dec 18, 2024
1 parent bcb33c0 commit e3d0889
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 3 deletions.
7 changes: 5 additions & 2 deletions tasks/transform_conformance/snapshots/oxc.snap.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
commit: 54a8389f

Passed: 112/126
Passed: 112/127

# All Passed:
* babel-plugin-transform-class-static-block
Expand All @@ -16,7 +16,10 @@ Passed: 112/126
* regexp


# babel-plugin-transform-class-properties (13/15)
# babel-plugin-transform-class-properties (13/16)
* static-super-tagged-template/input.js
x Output mismatch

* typescript/optional-call/input.ts
Symbol reference IDs mismatch for "X":
after transform: SymbolId(0): [ReferenceId(0), ReferenceId(2), ReferenceId(6), ReferenceId(11), ReferenceId(16)]
Expand Down
8 changes: 7 additions & 1 deletion tasks/transform_conformance/snapshots/oxc_exec.snap.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,10 @@ commit: 54a8389f

node: v22.12.0

Passed: 3 of 3 (100.00%)
Passed: 3 of 4 (75.00%)

Failures:

./fixtures/oxc/babel-plugin-transform-class-properties-test-fixtures-static-super-tagged-template-exec.test.js
AssertionError: expected undefined to be [Function C] // Object.is equality
at ./tasks/transform_conformance/fixtures/oxc/babel-plugin-transform-class-properties-test-fixtures-static-super-tagged-template-exec.test.js:15:17
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class S {
static method() {
return this;
}
}

class C extends S {
static prop = super.method`xyz`;
}

expect(C.prop).toBe(C);
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class S {
static method() {
return this;
}
}

class C extends S {
static prop = super.method`xyz`;
}

expect(C.prop).toBe(C);
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
var _C;

class S {
static method() {
return this;
}
}

class C extends S {}
_C = C;
babelHelpers.defineProperty(C, "prop", babelHelpers.superPropGet(_C, "method", _C).bind(_C)`xyz`);

expect(C.prop).toBe(C);

0 comments on commit e3d0889

Please sign in to comment.