From cb40b33db756b70aae18a6797c4407a4727c69d7 Mon Sep 17 00:00:00 2001 From: SuperSodaSea Date: Fri, 2 Dec 2022 02:06:37 +0800 Subject: [PATCH 1/2] fix: Correct error types in helper functions --- packages/babel-helpers/src/helpers.ts | 4 ++-- .../test/fixtures/public/class-name-tdz/exec.js | 5 +++++ .../test/fixtures/public/class-name-tdz/input.js | 3 +++ .../test/fixtures/public/class-name-tdz/output.js | 9 +++++++++ .../set-semantics-getter-defined-on-parent/exec.js | 2 +- .../set-semantics-getter-defined-on-parent/input.js | 2 +- .../set-semantics-getter-defined-on-parent/output.js | 2 +- .../exec.js | 2 +- .../input.js | 2 +- .../output.js | 2 +- .../set-semantics-getter-defined-on-parent/exec.js | 2 +- .../set-semantics-getter-defined-on-parent/input.js | 2 +- .../set-semantics-getter-defined-on-parent/output.js | 2 +- .../spec/super-reference-in-prop-exression/exec.js | 2 +- .../exec.js | 2 +- .../set-semantics-getter-defined-on-parent/exec.js | 2 +- .../set-semantics-getter-defined-on-parent/input.js | 2 +- .../set-semantics-getter-defined-on-parent/output.js | 2 +- .../exec.js | 2 +- .../input.js | 2 +- .../output.js | 2 +- .../exec.js | 2 +- .../input.js | 2 +- .../output.js | 2 +- .../exec.js | 2 +- 25 files changed, 40 insertions(+), 23 deletions(-) create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/exec.js create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/input.js create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/output.js diff --git a/packages/babel-helpers/src/helpers.ts b/packages/babel-helpers/src/helpers.ts index 471c748decae..5e8bcab9efa4 100644 --- a/packages/babel-helpers/src/helpers.ts +++ b/packages/babel-helpers/src/helpers.ts @@ -612,7 +612,7 @@ helpers.set = helper("7.0.0-beta.0")` export default function _set(target, property, value, receiver, isStrict) { var s = set(target, property, value, receiver || target); if (!s && isStrict) { - throw new Error('failed to set property'); + throw new TypeError('failed to set property'); } return value; @@ -650,7 +650,7 @@ helpers.writeOnlyError = helper("7.12.13")` helpers.classNameTDZError = helper("7.0.0-beta.0")` export default function _classNameTDZError(name) { - throw new Error("Class \\"" + name + "\\" cannot be referenced in computed property keys."); + throw new ReferenceError("Class \\"" + name + "\\" cannot be referenced in computed property keys."); } `; diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/exec.js new file mode 100644 index 000000000000..b36af279d8a6 --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/exec.js @@ -0,0 +1,5 @@ +expect(() => { + class Foo { + [Foo] = 1; + }; +}).toThrow(ReferenceError); diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/input.js new file mode 100644 index 000000000000..a3ef57e6972c --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/input.js @@ -0,0 +1,3 @@ +class Foo { + [Foo] = 1; +}; diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/output.js new file mode 100644 index 000000000000..ee0d62e2419d --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/output.js @@ -0,0 +1,9 @@ +var _ref; +_ref = (babelHelpers.classNameTDZError("Foo"), Foo); +var Foo = /*#__PURE__*/babelHelpers.createClass(function Foo() { + "use strict"; + + babelHelpers.classCallCheck(this, Foo); + babelHelpers.defineProperty(this, _ref, 1); +}); +; diff --git a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-getter-defined-on-parent/exec.js b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-getter-defined-on-parent/exec.js index 4980795f6ec1..4419c857df78 100644 --- a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-getter-defined-on-parent/exec.js +++ b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-getter-defined-on-parent/exec.js @@ -24,7 +24,7 @@ const obj = new Obj(); // but close enough for loose. // expect(() => { expect(obj.set()).toBe(3); -// }).toThrow(); +// }).toThrow(TypeError); expect(called).toBe(false); expect(Base.prototype.test).toBe(1); diff --git a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-getter-defined-on-parent/input.js b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-getter-defined-on-parent/input.js index 4980795f6ec1..4419c857df78 100644 --- a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-getter-defined-on-parent/input.js +++ b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-getter-defined-on-parent/input.js @@ -24,7 +24,7 @@ const obj = new Obj(); // but close enough for loose. // expect(() => { expect(obj.set()).toBe(3); -// }).toThrow(); +// }).toThrow(TypeError); expect(called).toBe(false); expect(Base.prototype.test).toBe(1); diff --git a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-getter-defined-on-parent/output.js b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-getter-defined-on-parent/output.js index 4b44d237a504..48f22dae1855 100644 --- a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-getter-defined-on-parent/output.js +++ b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-getter-defined-on-parent/output.js @@ -35,7 +35,7 @@ const obj = new Obj(); // but close enough for loose. // expect(() => { expect(obj.set()).toBe(3); -// }).toThrow(); +// }).toThrow(TypeError); expect(called).toBe(false); expect(Base.prototype.test).toBe(1); diff --git a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-not-defined-on-parent-getter-on-obj/exec.js b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-not-defined-on-parent-getter-on-obj/exec.js index 57ce198e81cc..6e1dd57c1911 100644 --- a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-not-defined-on-parent-getter-on-obj/exec.js +++ b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-not-defined-on-parent-getter-on-obj/exec.js @@ -19,7 +19,7 @@ const obj = new Obj(); // expect(obj.set()).toBe(3); expect(() => { obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(called).toBe(false); expect(Base.prototype.test).toBeUndefined(); diff --git a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-not-defined-on-parent-getter-on-obj/input.js b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-not-defined-on-parent-getter-on-obj/input.js index 57ce198e81cc..6e1dd57c1911 100644 --- a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-not-defined-on-parent-getter-on-obj/input.js +++ b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-not-defined-on-parent-getter-on-obj/input.js @@ -19,7 +19,7 @@ const obj = new Obj(); // expect(obj.set()).toBe(3); expect(() => { obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(called).toBe(false); expect(Base.prototype.test).toBeUndefined(); diff --git a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-not-defined-on-parent-getter-on-obj/output.js b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-not-defined-on-parent-getter-on-obj/output.js index ad814457dd05..3b863e67861b 100644 --- a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-not-defined-on-parent-getter-on-obj/output.js +++ b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/set-semantics-not-defined-on-parent-getter-on-obj/output.js @@ -25,7 +25,7 @@ const obj = new Obj(); // expect(obj.set()).toBe(3); expect(() => { obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(called).toBe(false); expect(Base.prototype.test).toBeUndefined(); expect(Obj.prototype.test).toBeUndefined(); diff --git a/packages/babel-plugin-transform-classes/test/fixtures/get-set/set-semantics-getter-defined-on-parent/exec.js b/packages/babel-plugin-transform-classes/test/fixtures/get-set/set-semantics-getter-defined-on-parent/exec.js index 6dcdc143c883..b49c12afaa5b 100644 --- a/packages/babel-plugin-transform-classes/test/fixtures/get-set/set-semantics-getter-defined-on-parent/exec.js +++ b/packages/babel-plugin-transform-classes/test/fixtures/get-set/set-semantics-getter-defined-on-parent/exec.js @@ -21,7 +21,7 @@ Object.defineProperty(Obj.prototype, 'test', { const obj = new Obj(); expect(() => { obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(called).toBe(false); expect(Base.prototype.test).toBe(1); expect(Obj.prototype.test).toBe(2); diff --git a/packages/babel-plugin-transform-classes/test/fixtures/get-set/set-semantics-getter-defined-on-parent/input.js b/packages/babel-plugin-transform-classes/test/fixtures/get-set/set-semantics-getter-defined-on-parent/input.js index 13b2b9be430b..3b498ab30354 100644 --- a/packages/babel-plugin-transform-classes/test/fixtures/get-set/set-semantics-getter-defined-on-parent/input.js +++ b/packages/babel-plugin-transform-classes/test/fixtures/get-set/set-semantics-getter-defined-on-parent/input.js @@ -21,7 +21,7 @@ expect(() => { // this requires helpers to be in file (not external), so they // are in "strict" mode code. obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(Base.prototype.test).toBe(1); expect(Obj.prototype.test).toBe(2); expect(obj.test).toBe(2); diff --git a/packages/babel-plugin-transform-classes/test/fixtures/get-set/set-semantics-getter-defined-on-parent/output.js b/packages/babel-plugin-transform-classes/test/fixtures/get-set/set-semantics-getter-defined-on-parent/output.js index 0cd1ecd2032f..3ca45cacd807 100644 --- a/packages/babel-plugin-transform-classes/test/fixtures/get-set/set-semantics-getter-defined-on-parent/output.js +++ b/packages/babel-plugin-transform-classes/test/fixtures/get-set/set-semantics-getter-defined-on-parent/output.js @@ -38,7 +38,7 @@ expect(() => { // this requires helpers to be in file (not external), so they // are in "strict" mode code. obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(Base.prototype.test).toBe(1); expect(Obj.prototype.test).toBe(2); expect(obj.test).toBe(2); diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-in-prop-exression/exec.js b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-in-prop-exression/exec.js index da7312b7d725..6db2f194bff0 100644 --- a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-in-prop-exression/exec.js +++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-in-prop-exression/exec.js @@ -14,5 +14,5 @@ class B extends A { expect(() => { new B(); -}).toThrow(); +}).toThrow(ReferenceError); expect(called).toBe(false); diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-data-non-writable-defined-on-parent/exec.js b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-data-non-writable-defined-on-parent/exec.js index ff835d133abe..39820469ce4e 100644 --- a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-data-non-writable-defined-on-parent/exec.js +++ b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-data-non-writable-defined-on-parent/exec.js @@ -18,6 +18,6 @@ Object.setPrototypeOf(obj, Base); expect(() => { obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(Base.test).toBe(1); expect(obj.test).toBe(2); diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-getter-defined-on-parent/exec.js b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-getter-defined-on-parent/exec.js index 5a9f314f19bf..77b6fb26571b 100644 --- a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-getter-defined-on-parent/exec.js +++ b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-getter-defined-on-parent/exec.js @@ -18,7 +18,7 @@ Object.setPrototypeOf(obj, Base); expect(() => { obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(called).toBe(false); expect(Base.test).toBe(1); expect(obj.test).toBe(2); diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-getter-defined-on-parent/input.js b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-getter-defined-on-parent/input.js index 60ac63391c9d..c901241e6f6a 100644 --- a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-getter-defined-on-parent/input.js +++ b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-getter-defined-on-parent/input.js @@ -18,6 +18,6 @@ expect(() => { // this requires helpers to be in file (not external), so they // are in "strict" mode code. obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(Base.test).toBe(1); expect(obj.test).toBe(2); diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-getter-defined-on-parent/output.js b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-getter-defined-on-parent/output.js index 097dbdfe22da..5cdeec9bb11f 100644 --- a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-getter-defined-on-parent/output.js +++ b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-getter-defined-on-parent/output.js @@ -17,6 +17,6 @@ expect(() => { // this requires helpers to be in file (not external), so they // are in "strict" mode code. obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(Base.test).toBe(1); expect(obj.test).toBe(2); diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-data-non-writable-on-obj/exec.js b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-data-non-writable-on-obj/exec.js index 5f150c4002ff..91384fd19146 100644 --- a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-data-non-writable-on-obj/exec.js +++ b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-data-non-writable-on-obj/exec.js @@ -17,7 +17,7 @@ Object.setPrototypeOf(obj, Base); expect(() => { obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(Base.test).toBeUndefined(); expect(obj.test).toBe(2); diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-data-non-writable-on-obj/input.js b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-data-non-writable-on-obj/input.js index 5f150c4002ff..91384fd19146 100644 --- a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-data-non-writable-on-obj/input.js +++ b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-data-non-writable-on-obj/input.js @@ -17,7 +17,7 @@ Object.setPrototypeOf(obj, Base); expect(() => { obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(Base.test).toBeUndefined(); expect(obj.test).toBe(2); diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-data-non-writable-on-obj/output.js b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-data-non-writable-on-obj/output.js index ab3e7df77c50..239062bdc8c1 100644 --- a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-data-non-writable-on-obj/output.js +++ b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-data-non-writable-on-obj/output.js @@ -16,7 +16,7 @@ Object.defineProperty(obj, 'test', { Object.setPrototypeOf(obj, Base); expect(() => { obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(Base.test).toBeUndefined(); expect(obj.test).toBe(2); const desc = Object.getOwnPropertyDescriptor(obj, 'test'); diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-getter-on-obj/exec.js b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-getter-on-obj/exec.js index b151bc555975..0dae1cd69e2b 100644 --- a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-getter-on-obj/exec.js +++ b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-getter-on-obj/exec.js @@ -16,7 +16,7 @@ Object.setPrototypeOf(obj, Base); expect(() => { obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(called).toBe(false); expect(Base.test).toBeUndefined(); expect(obj.test).toBeUndefined(); diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-getter-on-obj/input.js b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-getter-on-obj/input.js index 29430e7a6ec0..236f84670e89 100644 --- a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-getter-on-obj/input.js +++ b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-getter-on-obj/input.js @@ -15,6 +15,6 @@ expect(() => { // this requires helpers to be in file (not external), so they // are in "strict" mode code. obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(Base.test).toBeUndefined(); expect(obj.test).toBeUndefined(); diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-getter-on-obj/output.js b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-getter-on-obj/output.js index 567756b99cfa..332242e849f6 100644 --- a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-getter-on-obj/output.js +++ b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-getter-on-obj/output.js @@ -13,6 +13,6 @@ expect(() => { // this requires helpers to be in file (not external), so they // are in "strict" mode code. obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(Base.test).toBeUndefined(); expect(obj.test).toBeUndefined(); diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-setter-on-obj/exec.js b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-setter-on-obj/exec.js index 559edd1c42e9..aa7aef689ede 100644 --- a/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-setter-on-obj/exec.js +++ b/packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-not-defined-on-parent-setter-on-obj/exec.js @@ -16,7 +16,7 @@ Object.setPrototypeOf(obj, Base); expect(() => { obj.set(); -}).toThrow(); +}).toThrow(TypeError); expect(value).toBe(2); expect(Base.test).toBeUndefined(); expect(obj.test).toBeUndefined(); From 81f4d7b786b22072721bd14317547a955a1da883 Mon Sep 17 00:00:00 2001 From: SuperSodaSea Date: Fri, 2 Dec 2022 11:26:53 +0800 Subject: [PATCH 2/2] Rename classNameTDZError tests --- .../decorator-interop/input.js | 0 .../decorator-interop/options.json | 0 .../decorator-interop/output.js | 0 .../class-name-tdz => class-name-tdz/general}/exec.js | 2 +- .../test/fixtures/class-name-tdz/general/input.js | 3 +++ .../test/fixtures/class-name-tdz/general/options.json | 3 +++ .../test/fixtures/class-name-tdz/general/output.js | 8 ++++++++ .../static-edgest-case}/exec.js | 2 +- .../static-edgest-case}/input.js | 0 .../static-edgest-case}/options.json | 0 .../static-edgest-case}/output.js | 0 .../general => class-name-tdz/static-general}/exec.js | 2 +- .../general => class-name-tdz/static-general}/input.js | 0 .../static-general}/options.json | 0 .../general => class-name-tdz/static-general}/output.js | 0 .../loose => class-name-tdz/static-loose}/exec.js | 2 +- .../loose => class-name-tdz/static-loose}/input.js | 0 .../loose => class-name-tdz/static-loose}/options.json | 0 .../loose => class-name-tdz/static-loose}/output.js | 0 .../test/fixtures/public/class-name-tdz/input.js | 3 --- .../test/fixtures/public/class-name-tdz/output.js | 9 --------- 21 files changed, 18 insertions(+), 16 deletions(-) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz => class-name-tdz}/decorator-interop/input.js (100%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz => class-name-tdz}/decorator-interop/options.json (100%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz => class-name-tdz}/decorator-interop/output.js (100%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{public/class-name-tdz => class-name-tdz/general}/exec.js (77%) create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/input.js create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/options.json create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/output.js rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz/edgest-case => class-name-tdz/static-edgest-case}/exec.js (68%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz/edgest-case => class-name-tdz/static-edgest-case}/input.js (100%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz/edgest-case => class-name-tdz/static-edgest-case}/options.json (100%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz/edgest-case => class-name-tdz/static-edgest-case}/output.js (100%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz/general => class-name-tdz/static-general}/exec.js (66%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz/general => class-name-tdz/static-general}/input.js (100%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz/general => class-name-tdz/static-general}/options.json (100%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz/general => class-name-tdz/static-general}/output.js (100%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz/loose => class-name-tdz/static-loose}/exec.js (66%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz/loose => class-name-tdz/static-loose}/input.js (100%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz/loose => class-name-tdz/static-loose}/options.json (100%) rename packages/babel-plugin-proposal-class-properties/test/fixtures/{static-property-tdz/loose => class-name-tdz/static-loose}/output.js (100%) delete mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/input.js delete mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/output.js diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/decorator-interop/input.js similarity index 100% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/input.js rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/decorator-interop/input.js diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/decorator-interop/options.json similarity index 100% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/options.json rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/decorator-interop/options.json diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/decorator-interop/output.js similarity index 100% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/output.js rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/decorator-interop/output.js diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/exec.js similarity index 77% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/exec.js rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/exec.js index b36af279d8a6..74c1646eeae9 100644 --- a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/exec.js +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/exec.js @@ -1,5 +1,5 @@ expect(() => { class Foo { - [Foo] = 1; + [Foo + 1] = 2; }; }).toThrow(ReferenceError); diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/input.js new file mode 100644 index 000000000000..0fb7de6e0cf5 --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/input.js @@ -0,0 +1,3 @@ +class Foo { + [Foo + 1] = 2; +}; diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/options.json new file mode 100644 index 000000000000..19ed5174f545 --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["proposal-class-properties"] +} diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/output.js new file mode 100644 index 000000000000..4e7c5260acc7 --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/general/output.js @@ -0,0 +1,8 @@ +let _ref; +_ref = (babelHelpers.classNameTDZError("Foo"), Foo) + 1; +class Foo { + constructor() { + babelHelpers.defineProperty(this, _ref, 2); + } +} +; diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/edgest-case/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-edgest-case/exec.js similarity index 68% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/edgest-case/exec.js rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-edgest-case/exec.js index 29f56228fe47..f2c2afa69e99 100644 --- a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/edgest-case/exec.js +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-edgest-case/exec.js @@ -2,4 +2,4 @@ expect(() => { class A { static [{ x: A || 0 }.x]; } -}).toThrow(); +}).toThrow(ReferenceError); diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/edgest-case/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-edgest-case/input.js similarity index 100% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/edgest-case/input.js rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-edgest-case/input.js diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/edgest-case/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-edgest-case/options.json similarity index 100% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/edgest-case/options.json rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-edgest-case/options.json diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/edgest-case/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-edgest-case/output.js similarity index 100% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/edgest-case/output.js rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-edgest-case/output.js diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/general/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-general/exec.js similarity index 66% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/general/exec.js rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-general/exec.js index 2c167f59f86a..62e99babd9a9 100644 --- a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/general/exec.js +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-general/exec.js @@ -2,4 +2,4 @@ expect(() => { class C { static [C + 3] = 3; } -}).toThrow(); +}).toThrow(ReferenceError); diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/general/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-general/input.js similarity index 100% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/general/input.js rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-general/input.js diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/general/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-general/options.json similarity index 100% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/general/options.json rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-general/options.json diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/general/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-general/output.js similarity index 100% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/general/output.js rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-general/output.js diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/loose/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-loose/exec.js similarity index 66% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/loose/exec.js rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-loose/exec.js index 2c167f59f86a..62e99babd9a9 100644 --- a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/loose/exec.js +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-loose/exec.js @@ -2,4 +2,4 @@ expect(() => { class C { static [C + 3] = 3; } -}).toThrow(); +}).toThrow(ReferenceError); diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/loose/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-loose/input.js similarity index 100% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/loose/input.js rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-loose/input.js diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/loose/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-loose/options.json similarity index 100% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/loose/options.json rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-loose/options.json diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/loose/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-loose/output.js similarity index 100% rename from packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/loose/output.js rename to packages/babel-plugin-proposal-class-properties/test/fixtures/class-name-tdz/static-loose/output.js diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/input.js deleted file mode 100644 index a3ef57e6972c..000000000000 --- a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/input.js +++ /dev/null @@ -1,3 +0,0 @@ -class Foo { - [Foo] = 1; -}; diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/output.js deleted file mode 100644 index ee0d62e2419d..000000000000 --- a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/class-name-tdz/output.js +++ /dev/null @@ -1,9 +0,0 @@ -var _ref; -_ref = (babelHelpers.classNameTDZError("Foo"), Foo); -var Foo = /*#__PURE__*/babelHelpers.createClass(function Foo() { - "use strict"; - - babelHelpers.classCallCheck(this, Foo); - babelHelpers.defineProperty(this, _ref, 1); -}); -;