From e002f534df4ee8a8d4221d995522c4ae2772bf0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Fri, 12 Mar 2021 17:11:49 -0500 Subject: [PATCH] add input/output tests on multiple static blocks --- .../multiple-static-initializers/input.js | 11 ++++++++ .../multiple-static-initializers/output.js | 11 ++++++++ .../multiple-static-initializers/input.js | 11 ++++++++ .../multiple-static-initializers/output.js | 26 +++++++++++++++++++ .../multiple-static-initializers/input.js | 11 ++++++++ .../multiple-static-initializers/output.js | 20 ++++++++++++++ 6 files changed, 90 insertions(+) create mode 100644 packages/babel-plugin-proposal-class-static-block/test/fixtures/class-static-block/multiple-static-initializers/input.js create mode 100644 packages/babel-plugin-proposal-class-static-block/test/fixtures/class-static-block/multiple-static-initializers/output.js create mode 100644 packages/babel-plugin-proposal-class-static-block/test/fixtures/integration-loose/multiple-static-initializers/input.js create mode 100644 packages/babel-plugin-proposal-class-static-block/test/fixtures/integration-loose/multiple-static-initializers/output.js create mode 100644 packages/babel-plugin-proposal-class-static-block/test/fixtures/integration/multiple-static-initializers/input.js create mode 100644 packages/babel-plugin-proposal-class-static-block/test/fixtures/integration/multiple-static-initializers/output.js diff --git a/packages/babel-plugin-proposal-class-static-block/test/fixtures/class-static-block/multiple-static-initializers/input.js b/packages/babel-plugin-proposal-class-static-block/test/fixtures/class-static-block/multiple-static-initializers/input.js new file mode 100644 index 000000000000..7b4c65f1e22a --- /dev/null +++ b/packages/babel-plugin-proposal-class-static-block/test/fixtures/class-static-block/multiple-static-initializers/input.js @@ -0,0 +1,11 @@ +class Foo { + static #bar = 21; + static { + this.foo = this.#bar; + this.qux1 = this.qux; + } + static qux = 21; + static { + this.qux2 = this.qux; + } +} diff --git a/packages/babel-plugin-proposal-class-static-block/test/fixtures/class-static-block/multiple-static-initializers/output.js b/packages/babel-plugin-proposal-class-static-block/test/fixtures/class-static-block/multiple-static-initializers/output.js new file mode 100644 index 000000000000..c68a67db8fc3 --- /dev/null +++ b/packages/babel-plugin-proposal-class-static-block/test/fixtures/class-static-block/multiple-static-initializers/output.js @@ -0,0 +1,11 @@ +class Foo { + static #bar = 21; + static #_ = (() => { + this.foo = this.#bar; + this.qux1 = this.qux; + })(); + static qux = 21; + static #_2 = (() => { + this.qux2 = this.qux; + })(); +} diff --git a/packages/babel-plugin-proposal-class-static-block/test/fixtures/integration-loose/multiple-static-initializers/input.js b/packages/babel-plugin-proposal-class-static-block/test/fixtures/integration-loose/multiple-static-initializers/input.js new file mode 100644 index 000000000000..7b4c65f1e22a --- /dev/null +++ b/packages/babel-plugin-proposal-class-static-block/test/fixtures/integration-loose/multiple-static-initializers/input.js @@ -0,0 +1,11 @@ +class Foo { + static #bar = 21; + static { + this.foo = this.#bar; + this.qux1 = this.qux; + } + static qux = 21; + static { + this.qux2 = this.qux; + } +} diff --git a/packages/babel-plugin-proposal-class-static-block/test/fixtures/integration-loose/multiple-static-initializers/output.js b/packages/babel-plugin-proposal-class-static-block/test/fixtures/integration-loose/multiple-static-initializers/output.js new file mode 100644 index 000000000000..3d22e8238371 --- /dev/null +++ b/packages/babel-plugin-proposal-class-static-block/test/fixtures/integration-loose/multiple-static-initializers/output.js @@ -0,0 +1,26 @@ +var _bar = babelHelpers.classPrivateFieldLooseKey("bar"); + +var _ = babelHelpers.classPrivateFieldLooseKey("_"); + +var _2 = babelHelpers.classPrivateFieldLooseKey("_2"); + +class Foo {} + +Object.defineProperty(Foo, _bar, { + writable: true, + value: 21 +}); +Object.defineProperty(Foo, _, { + writable: true, + value: (() => { + Foo.foo = babelHelpers.classPrivateFieldLooseBase(Foo, _bar)[_bar]; + Foo.qux1 = Foo.qux; + })() +}); +Foo.qux = 21; +Object.defineProperty(Foo, _2, { + writable: true, + value: (() => { + Foo.qux2 = Foo.qux; + })() +}); diff --git a/packages/babel-plugin-proposal-class-static-block/test/fixtures/integration/multiple-static-initializers/input.js b/packages/babel-plugin-proposal-class-static-block/test/fixtures/integration/multiple-static-initializers/input.js new file mode 100644 index 000000000000..7b4c65f1e22a --- /dev/null +++ b/packages/babel-plugin-proposal-class-static-block/test/fixtures/integration/multiple-static-initializers/input.js @@ -0,0 +1,11 @@ +class Foo { + static #bar = 21; + static { + this.foo = this.#bar; + this.qux1 = this.qux; + } + static qux = 21; + static { + this.qux2 = this.qux; + } +} diff --git a/packages/babel-plugin-proposal-class-static-block/test/fixtures/integration/multiple-static-initializers/output.js b/packages/babel-plugin-proposal-class-static-block/test/fixtures/integration/multiple-static-initializers/output.js new file mode 100644 index 000000000000..e46f995b46be --- /dev/null +++ b/packages/babel-plugin-proposal-class-static-block/test/fixtures/integration/multiple-static-initializers/output.js @@ -0,0 +1,20 @@ +class Foo {} + +var _bar = { + writable: true, + value: 21 +}; +var _ = { + writable: true, + value: (() => { + Foo.foo = babelHelpers.classStaticPrivateFieldSpecGet(Foo, Foo, _bar); + Foo.qux1 = Foo.qux; + })() +}; +babelHelpers.defineProperty(Foo, "qux", 21); +var _2 = { + writable: true, + value: (() => { + Foo.qux2 = Foo.qux; + })() +};