diff options
Diffstat (limited to 'remote/cdp/test/browser/target/browser_closeTarget.js')
-rw-r--r-- | remote/cdp/test/browser/target/browser_closeTarget.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/remote/cdp/test/browser/target/browser_closeTarget.js b/remote/cdp/test/browser/target/browser_closeTarget.js new file mode 100644 index 0000000000..22d58f02e6 --- /dev/null +++ b/remote/cdp/test/browser/target/browser_closeTarget.js @@ -0,0 +1,43 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +add_task(async function raisesWithoutArguments({ client, tab }) { + const { Target } = client; + let exceptionThrown = false; + try { + await Target.closeTarget(); + } catch (e) { + exceptionThrown = true; + } + ok(exceptionThrown, "closeTarget raised error without an argument"); +}); + +add_task(async function raisesWithUnknownTargetId({ client, tab }) { + const { Target } = client; + let exceptionThrown = false; + try { + await Target.closeTarget({ targetId: "-1" }); + } catch (e) { + exceptionThrown = true; + } + ok(exceptionThrown, "closeTarget raised error with unkown target id"); +}); + +add_task(async function triggersTargetDestroyed({ client, tab }) { + const { Target } = client; + const { targetInfo, newTab } = await openTab(Target); + + const tabClosed = BrowserTestUtils.waitForEvent(newTab, "TabClose"); + const targetDestroyed = Target.targetDestroyed(); + + info("Closing the target"); + await Target.closeTarget({ targetId: targetInfo.targetId }); + + await tabClosed; + info("Tab was closed"); + + await targetDestroyed; + info("Received the Target.targetDestroyed event"); +}); |