diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
commit | 8dd16259287f58f9273002717ec4d27e97127719 (patch) | |
tree | 3863e62a53829a84037444beab3abd4ed9dfc7d0 /dom/l10n | |
parent | Releasing progress-linux version 126.0.1-1~progress7.99u1. (diff) | |
download | firefox-8dd16259287f58f9273002717ec4d27e97127719.tar.xz firefox-8dd16259287f58f9273002717ec4d27e97127719.zip |
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/l10n')
-rw-r--r-- | dom/l10n/DocumentL10n.cpp | 9 | ||||
-rw-r--r-- | dom/l10n/tests/mochitest/document_l10n/test_docl10n_ready_rejected.html | 11 |
2 files changed, 16 insertions, 4 deletions
diff --git a/dom/l10n/DocumentL10n.cpp b/dom/l10n/DocumentL10n.cpp index c53b3aa0c7..9cf1d96c39 100644 --- a/dom/l10n/DocumentL10n.cpp +++ b/dom/l10n/DocumentL10n.cpp @@ -93,8 +93,15 @@ class L10nReadyHandler final : public PromiseNativeHandler { * rejection" warning, which is noisy and not-actionable. * * So instead, we just resolve and report errors. + * + * However, in automated tests we do reject so that errors with missing + * messages and resources can be caught. */ - mPromise->MaybeResolveWithUndefined(); + if (xpc::IsInAutomation()) { + mPromise->MaybeRejectWithClone(aCx, aValue); + } else { + mPromise->MaybeResolveWithUndefined(); + } } private: diff --git a/dom/l10n/tests/mochitest/document_l10n/test_docl10n_ready_rejected.html b/dom/l10n/tests/mochitest/document_l10n/test_docl10n_ready_rejected.html index 63e18f802c..a80a4b6d94 100644 --- a/dom/l10n/tests/mochitest/document_l10n/test_docl10n_ready_rejected.html +++ b/dom/l10n/tests/mochitest/document_l10n/test_docl10n_ready_rejected.html @@ -12,12 +12,17 @@ document.addEventListener("DOMContentLoaded", async function() { /** - * Even when we fail to localize all elements, we will - * still resolve the `ready` promise to communicate that + * Outside of tests, even when we fail to localize all elements, + * we will still resolve the `ready` promise to communicate that * the initial translation phase is now completed. + * + * In tests, the promise will be rejected to allow errors to be caught. */ document.l10n.ready.then(() => { - is(1, 1, "the ready should resolve"); + is(1, 2, "the ready should not resolve"); + SimpleTest.finish(); + }, (_err) => { + is(1, 1, "the ready should reject"); SimpleTest.finish(); }); }); |