diff --git a/tests/browser/play.mjs b/tests/browser/play.mjs index 954307e..3b9d3c7 100644 --- a/tests/browser/play.mjs +++ b/tests/browser/play.mjs @@ -1223,10 +1223,19 @@ for (let actions = 0; ; actions++) { } else { await (await touchTarget("confirm", "Jouer ce coup", 2, confirms % 2)).click(); } - await waitForPlayer(); - const played = await savedJournal(); - check(countMoves(played, "player") === countMoves(journal, "player") + 1, - "le coup joué n'est pas dans le journal"); + const next = await waitForPlayer(); + // L'application enregistre sans attendre ; sur un disque lent, + // l'écriture d'IndexedDB peut suivre de loin : on lui laisse 10 s. + const expected = countMoves(journal, "player") + 1; + let played = await savedJournal(); + for (let i = 0; i < 100 && countMoves(played, "player") < expected; i++) { + await sleep(100); + played = await savedJournal(); + } + check(countMoves(played, "player") === expected, + `le coup joué n'est pas dans le journal : ${countMoves(played, "player")} coups ` + + `enregistrés, ${expected} attendus ; à l'écran : ${next}, ` + + `« ${await page.textContent("#info")} »`); halfMoves = 0; touched = false; } else {