/* Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; add_task(async function raisesWithoutArguments({ client }) { const { Target } = client; await Assert.rejects( Target.closeTarget(), err => err.message.includes(`Unable to find target with id `), "closeTarget raised error without an argument" ); }); add_task(async function raisesWithUnknownTargetId({ client }) { const { Target } = client; await Assert.rejects( Target.closeTarget({ targetId: "-1" }), err => err.message.includes(`Unable to find target with id `), "closeTarget raised error with unkown target id" ); }); add_task(async function triggersTargetDestroyed({ client }) { 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"); });