From d8bbc7858622b6d9c278469aab701ca0b609cddf Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 15 May 2024 05:35:49 +0200 Subject: Merging upstream version 126.0. Signed-off-by: Daniel Baumann --- .../client/debugger/test/mochitest/shared-head.js | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'devtools/client/debugger/test/mochitest/shared-head.js') diff --git a/devtools/client/debugger/test/mochitest/shared-head.js b/devtools/client/debugger/test/mochitest/shared-head.js index b2a1c7c3d7..fe3ab0171c 100644 --- a/devtools/client/debugger/test/mochitest/shared-head.js +++ b/devtools/client/debugger/test/mochitest/shared-head.js @@ -68,25 +68,27 @@ const DEBUGGER_L10N = new LocalizationHelper( /** * Waits for `predicate()` to be true. `state` is the redux app state. * - * @memberof mochitest/waits * @param {Object} dbg * @param {Function} predicate + * @param {String} msg * @return {Promise} - * @static */ -function waitForState(dbg, predicate, msg) { +function waitForState(dbg, predicate, msg = "") { return new Promise(resolve => { - info(`Waiting for state change: ${msg || ""}`); - if (predicate(dbg.store.getState())) { - info(`Finished waiting for state change: ${msg || ""}`); - resolve(); + info(`Waiting for state change: ${msg}`); + let result = predicate(dbg.store.getState()); + if (result) { + info( + `--> The state was immediately correct (should rather do an immediate assertion?)` + ); + resolve(result); return; } const unsubscribe = dbg.store.subscribe(() => { - const result = predicate(dbg.store.getState()); + result = predicate(dbg.store.getState()); if (result) { - info(`Finished waiting for state change: ${msg || ""}`); + info(`Finished waiting for state change: ${msg}`); unsubscribe(); resolve(result); } -- cgit v1.2.3