diff --git a/Libraries/LibJS/Tests/syntax/async-await.js b/Libraries/LibJS/Tests/syntax/async-await.js index 565e9731b01..1d5c4bcb486 100644 --- a/Libraries/LibJS/Tests/syntax/async-await.js +++ b/Libraries/LibJS/Tests/syntax/async-await.js @@ -257,7 +257,7 @@ describe("await thenables", () => { }); }); -describe("await observably looks up constructor of Promise objects", () => { +describe("await observably looks up constructor of Promise objects increasing call count", () => { let calls = 0; function makeConstructorObservable(promise) { Object.defineProperty(promise, "constructor", { @@ -276,9 +276,6 @@ describe("await observably looks up constructor of Promise objects", () => { resolve(); }) ); - await makeConstructorObservable(new Boolean(true)); - await makeConstructorObservable({}); - await makeConstructorObservable(new Number(2)); try { await makeConstructorObservable(Promise.reject(3)); } catch {} @@ -292,3 +289,25 @@ describe("await observably looks up constructor of Promise objects", () => { runQueuedPromiseJobs(); expect(calls).toBe(4); }); + +describe("await observably looks up constructor of Promise objects not increasing call count", () => { + let calls = 0; + function makeConstructorObservable(promise) { + Object.defineProperty(promise, "constructor", { + get() { + calls++; + return Promise; + }, + }); + return promise; + } + + async function test() { + await makeConstructorObservable(new Boolean(true)); + await makeConstructorObservable({}); + await makeConstructorObservable(new Number(2)); + } + test(); + runQueuedPromiseJobs(); + expect(calls).toBe(0); +});