diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /devtools/client/webconsole/test/browser/browser_webconsole_persist.js | |
parent | Initial commit. (diff) | |
download | firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/client/webconsole/test/browser/browser_webconsole_persist.js')
-rw-r--r-- | devtools/client/webconsole/test/browser/browser_webconsole_persist.js | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/browser/browser_webconsole_persist.js b/devtools/client/webconsole/test/browser/browser_webconsole_persist.js new file mode 100644 index 0000000000..88b39db8f5 --- /dev/null +++ b/devtools/client/webconsole/test/browser/browser_webconsole_persist.js @@ -0,0 +1,87 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +// Check that message persistence works - bug 705921 / bug 1307881 + +"use strict"; + +const TEST_URI = + "http://example.com/browser/devtools/client/webconsole/" + + "test/browser/test-console.html"; + +registerCleanupFunction(() => { + Services.prefs.clearUserPref("devtools.webconsole.persistlog"); +}); + +add_task(async function() { + info("Testing that messages disappear on a refresh if logs aren't persisted"); + const hud = await openNewTabAndConsole(TEST_URI); + + const INITIAL_LOGS_NUMBER = 5; + await SpecialPowers.spawn( + gBrowser.selectedBrowser, + [INITIAL_LOGS_NUMBER], + count => { + content.wrappedJSObject.doLogs(count); + } + ); + await waitFor(() => findMessages(hud, "").length === INITIAL_LOGS_NUMBER); + ok(true, "Messages showed up initially"); + + const onReloaded = hud.ui.once("reloaded"); + await refreshTab(); + await onReloaded; + await waitFor(() => findMessages(hud, "").length === 0); + ok(true, "Messages disappeared"); + + await closeToolbox(); +}); + +add_task(async function() { + info("Testing that messages persist on a refresh if logs are persisted"); + + const hud = await openNewTabAndConsole(TEST_URI); + + await toggleConsoleSetting( + hud, + ".webconsole-console-settings-menu-item-persistentLogs" + ); + + const INITIAL_LOGS_NUMBER = 5; + await SpecialPowers.spawn( + gBrowser.selectedBrowser, + [INITIAL_LOGS_NUMBER], + count => { + content.wrappedJSObject.doLogs(count); + } + ); + await waitFor(() => findMessages(hud, "").length === INITIAL_LOGS_NUMBER); + ok(true, "Messages showed up initially"); + + const onNavigatedMessage = waitForMessage(hud, "Navigated to"); + const onReloaded = hud.ui.once("reloaded"); + refreshTab(); + await onNavigatedMessage; + await onReloaded; + + ok(true, "Navigation message appeared as expected"); + is( + findMessages(hud, "").length, + INITIAL_LOGS_NUMBER + 1, + "Messages logged before navigation are still visible" + ); + + const { + visibleMessages, + messagesById, + } = hud.ui.wrapper.getStore().getState().messages; + const [commandId, resultId] = visibleMessages; + const commandMessage = messagesById.get(commandId).timeStamp; + const resultMessage = messagesById.get(resultId).timeStamp; + + ok( + resultMessage > commandMessage && resultMessage < Date.now(), + "The result has a timestamp newer than the command and older than current time" + ); + await closeToolbox(); +}); |