From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- .../browser/browser_ext_browsingData_history.js | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 browser/components/extensions/test/browser/browser_ext_browsingData_history.js (limited to 'browser/components/extensions/test/browser/browser_ext_browsingData_history.js') diff --git a/browser/components/extensions/test/browser/browser_ext_browsingData_history.js b/browser/components/extensions/test/browser/browser_ext_browsingData_history.js new file mode 100644 index 0000000000..2f696f3154 --- /dev/null +++ b/browser/components/extensions/test/browser/browser_ext_browsingData_history.js @@ -0,0 +1,123 @@ +/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set sts=2 sw=2 et tw=80: */ +"use strict"; + +ChromeUtils.defineESModuleGetters(this, { + PlacesTestUtils: "resource://testing-common/PlacesTestUtils.sys.mjs", + PlacesUtils: "resource://gre/modules/PlacesUtils.sys.mjs", +}); + +const OLD_URL = "http://example.com/"; +const RECENT_URL = "http://example.com/2/"; +const REFERENCE_DATE = new Date(); + +// Visits to add via addVisits +const PLACEINFO = [ + { + uri: RECENT_URL, + title: `test visit for ${RECENT_URL}`, + visitDate: REFERENCE_DATE, + }, + { + uri: OLD_URL, + title: `test visit for ${OLD_URL}`, + visitDate: new Date(Number(REFERENCE_DATE) - 1000), + }, + { + uri: OLD_URL, + title: `test visit for ${OLD_URL}`, + visitDate: new Date(Number(REFERENCE_DATE) - 2000), + }, +]; + +async function setupHistory() { + await PlacesUtils.history.clear(); + await PlacesTestUtils.addVisits(PLACEINFO); + is( + await PlacesTestUtils.visitsInDB(RECENT_URL), + 1, + "Expected number of visits found in history database." + ); + is( + await PlacesTestUtils.visitsInDB(OLD_URL), + 2, + "Expected number of visits found in history database." + ); +} + +add_task(async function testHistory() { + function background() { + browser.test.onMessage.addListener(async (msg, options) => { + if (msg == "removeHistory") { + await browser.browsingData.removeHistory(options); + } else { + await browser.browsingData.remove(options, { history: true }); + } + browser.test.sendMessage("historyRemoved"); + }); + } + + let extension = ExtensionTestUtils.loadExtension({ + background, + manifest: { + permissions: ["browsingData"], + }, + }); + + async function testRemovalMethod(method) { + // Clear history with no since value. + await setupHistory(); + extension.sendMessage(method, {}); + await extension.awaitMessage("historyRemoved"); + + is( + await PlacesTestUtils.visitsInDB(RECENT_URL), + 0, + "Expected number of visits removed from history database." + ); + is( + await PlacesTestUtils.visitsInDB(OLD_URL), + 0, + "Expected number of visits removed from history database." + ); + + // Clear history with recent since value. + await setupHistory(); + extension.sendMessage(method, { since: REFERENCE_DATE - 1000 }); + await extension.awaitMessage("historyRemoved"); + + is( + await PlacesTestUtils.visitsInDB(RECENT_URL), + 0, + "Expected number of visits removed from history database." + ); + is( + await PlacesTestUtils.visitsInDB(OLD_URL), + 1, + "Expected number of visits removed from history database." + ); + + // Clear history with old since value. + await setupHistory(); + extension.sendMessage(method, { since: REFERENCE_DATE - 100000 }); + await extension.awaitMessage("historyRemoved"); + + is( + await PlacesTestUtils.visitsInDB(RECENT_URL), + 0, + "Expected number of visits removed from history database." + ); + is( + await PlacesTestUtils.visitsInDB(OLD_URL), + 0, + "Expected number of visits removed from history database." + ); + } + + await extension.startup(); + + await testRemovalMethod("removeHistory"); + await testRemovalMethod("remove"); + + await extension.unload(); +}); -- cgit v1.2.3