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 --- .../test/browser/browser_ext_windows_remove.js | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 browser/components/extensions/test/browser/browser_ext_windows_remove.js (limited to 'browser/components/extensions/test/browser/browser_ext_windows_remove.js') diff --git a/browser/components/extensions/test/browser/browser_ext_windows_remove.js b/browser/components/extensions/test/browser/browser_ext_windows_remove.js new file mode 100644 index 0000000000..455987a908 --- /dev/null +++ b/browser/components/extensions/test/browser/browser_ext_windows_remove.js @@ -0,0 +1,53 @@ +/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set sts=2 sw=2 et tw=80: */ +"use strict"; + +add_task(async function testWindowRemove() { + let extension = ExtensionTestUtils.loadExtension({ + async background() { + async function closeWindow(id) { + let window = await browser.windows.get(id); + return new Promise(function (resolve) { + browser.windows.onRemoved.addListener(async function listener( + windowId + ) { + browser.windows.onRemoved.removeListener(listener); + await browser.test.assertEq( + windowId, + window.id, + "The right window was closed" + ); + await browser.test.assertRejects( + browser.windows.get(windowId), + new RegExp(`Invalid window ID: ${windowId}`), + "The window was really closed." + ); + resolve(); + }); + browser.windows.remove(id); + }); + } + + browser.test.log("Create a new window and close it by its ID"); + let newWindow = await browser.windows.create(); + await closeWindow(newWindow.id); + + browser.test.log("Create a new window and close it by WINDOW_ID_CURRENT"); + await browser.windows.create(); + await closeWindow(browser.windows.WINDOW_ID_CURRENT); + + browser.test.log("Assert failure for bad parameter."); + await browser.test.assertThrows( + () => browser.windows.remove(-3), + /-3 is too small \(must be at least -2\)/, + "Invalid windowId throws" + ); + + browser.test.notifyPass("window-remove"); + }, + }); + + await extension.startup(); + await extension.awaitFinish("window-remove"); + await extension.unload(); +}); -- cgit v1.2.3