diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors-loose/reassignment/exec.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors-loose/reassignment/exec.js new file mode 100644 index 000000000000..0a11c8cb809d --- /dev/null +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors-loose/reassignment/exec.js @@ -0,0 +1,13 @@ +let counter = 0; +class Foo { + constructor() { + this.#privateFieldValue = ++counter; + } + + get #privateFieldValue() { + return 42; + } +} + +expect(() => new Foo).toThrow(); +expect(counter).toBe(1); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors-loose/reassignment/input.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors-loose/reassignment/input.js new file mode 100644 index 000000000000..c98c910e304f --- /dev/null +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors-loose/reassignment/input.js @@ -0,0 +1,10 @@ +let counter = 0; +class Foo { + constructor() { + this.#privateFieldValue = ++counter; + } + + get #privateFieldValue() { + return 42; + } +} diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors-loose/reassignment/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors-loose/reassignment/output.js new file mode 100644 index 000000000000..1f11f3b3e9c4 --- /dev/null +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors-loose/reassignment/output.js @@ -0,0 +1,18 @@ +var counter = 0; + +var _privateFieldValue = babelHelpers.classPrivateFieldLooseKey("privateFieldValue"); + +class Foo { + constructor() { + Object.defineProperty(this, _privateFieldValue, { + get: _get_privateFieldValue, + set: void 0 + }); + babelHelpers.classPrivateFieldLooseBase(this, _privateFieldValue)[_privateFieldValue] = ++counter; + } + +} + +var _get_privateFieldValue = function () { + return 42; +}; diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors/reassignment/exec.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors/reassignment/exec.js new file mode 100644 index 000000000000..0a11c8cb809d --- /dev/null +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors/reassignment/exec.js @@ -0,0 +1,13 @@ +let counter = 0; +class Foo { + constructor() { + this.#privateFieldValue = ++counter; + } + + get #privateFieldValue() { + return 42; + } +} + +expect(() => new Foo).toThrow(); +expect(counter).toBe(1); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors/reassignment/input.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors/reassignment/input.js new file mode 100644 index 000000000000..c98c910e304f --- /dev/null +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors/reassignment/input.js @@ -0,0 +1,10 @@ +let counter = 0; +class Foo { + constructor() { + this.#privateFieldValue = ++counter; + } + + get #privateFieldValue() { + return 42; + } +} diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors/reassignment/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors/reassignment/output.js new file mode 100644 index 000000000000..68286c06d126 --- /dev/null +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/accessors/reassignment/output.js @@ -0,0 +1,19 @@ +var counter = 0; + +var _privateFieldValue = new WeakMap(); + +class Foo { + constructor() { + _privateFieldValue.set(this, { + get: _get_privateFieldValue, + set: void 0 + }); + + babelHelpers.classPrivateMethodSet(++counter); + } + +} + +var _get_privateFieldValue = function () { + return 42; +}; diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/private-method-loose/reassignment/exec.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/private-method-loose/reassignment/exec.js index 526108424159..7690d12830eb 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/private-method-loose/reassignment/exec.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/private-method-loose/reassignment/exec.js @@ -9,8 +9,5 @@ class Foo { } } -try { - new Foo; -} catch (e) { - expect(counter).toBe(1); -} +expect(() => new Foo).toThrow(); +expect(counter).toBe(1); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/private-method/reassignment/exec.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/private-method/reassignment/exec.js index 526108424159..7690d12830eb 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/private-method/reassignment/exec.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/private-method/reassignment/exec.js @@ -9,8 +9,5 @@ class Foo { } } -try { - new Foo; -} catch (e) { - expect(counter).toBe(1); -} +expect(() => new Foo).toThrow(); +expect(counter).toBe(1);