diff --git a/packages/babel-core/test/fixtures/transformation/misc/regression-4943/actual.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/actual.js similarity index 100% rename from packages/babel-core/test/fixtures/transformation/misc/regression-4943/actual.js rename to packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/actual.js diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/exec.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/exec.js new file mode 100644 index 000000000000..50d8eea52ee4 --- /dev/null +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/exec.js @@ -0,0 +1,51 @@ +function mandatory(paramName) { + throw new Error(`Missing parameter: ${paramName}`); +} + +function shouldNotHappen() { + throw new Error("should not happen"); +} + +async function foo({ a, b = mandatory("b") } = {}) { + return Promise.resolve(b); +} + +async function bar(a = mandatory("a"), b = mandatory("b")) { + return Promise.resolve(b); +} + +assert.doesNotThrow(() => { + foo().then(() => true).catch(() => true); +}); + +assert.doesNotThrow(() => { + bar().then(() => true).catch(() => true); +}); + +async function fooUsage() { + try { + await foo().then(shouldNotHappen); + } catch (err) { + assert.equal(err.message, "Missing parameter: b"); + } +}; + +async function barUsage() { + try { + await bar().then(shouldNotHappen); + } catch (err) { + assert.equal(err.message, "Missing parameter: a"); + } +} + +fooUsage().catch((err) => { + if (err instanceof AssertionError) { + throw err; + } +}); + +barUsage().catch((err) => { + if (err instanceof AssertionError) { + throw err; + } +}); diff --git a/packages/babel-core/test/fixtures/transformation/misc/regression-4943/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/expected.js similarity index 100% rename from packages/babel-core/test/fixtures/transformation/misc/regression-4943/expected.js rename to packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/expected.js diff --git a/packages/babel-core/test/fixtures/transformation/misc/regression-4943/options.json b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/options.json similarity index 100% rename from packages/babel-core/test/fixtures/transformation/misc/regression-4943/options.json rename to packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/options.json