Bug 1805509 - Add ShellService.setAsDefaultPDFHandler r=nalexander

Differential Revision: https://phabricator.services.mozilla.com/D169817
This commit is contained in:
Barret Rennie
2023-03-02 20:33:22 +00:00
parent a12da7001d
commit e9f8cf042a
3 changed files with 175 additions and 33 deletions

View File

@@ -219,3 +219,71 @@ add_task(async function remoteDisable() {
await doCleanup();
});
add_task(async function test_setAsDefaultPDFHandler_knownBrowser() {
const sandbox = sinon.createSandbox();
const aumi = XreDirProvider.getInstallHash();
const expectedArguments = [
"set-default-extension-handlers-user-choice",
aumi,
".pdf",
"FirefoxPDF",
];
try {
const pdfHandlerResult = { registered: true, knownBrowser: true };
sinon.stub(ShellService, "getDefaultPDFHandler").returns(pdfHandlerResult);
info("Testing setAsDefaultPDFHandler(true) when knownBrowser = true");
ShellService.setAsDefaultPDFHandler(true);
Assert.ok(
_callExternalDefaultBrowserAgentStub.called,
"Called default browser agent"
);
Assert.deepEqual(
_callExternalDefaultBrowserAgentStub.firstCall.args,
[{ arguments: expectedArguments }],
"Called default browser agent with expected arguments"
);
_callExternalDefaultBrowserAgentStub.resetHistory();
info("Testing setAsDefaultPDFHandler(false) when knownBrowser = true");
ShellService.setAsDefaultPDFHandler(false);
Assert.ok(
_callExternalDefaultBrowserAgentStub.called,
"Called default browser agent"
);
Assert.deepEqual(
_callExternalDefaultBrowserAgentStub.firstCall.args,
[{ arguments: expectedArguments }],
"Called default browser agent with expected arguments"
);
_callExternalDefaultBrowserAgentStub.resetHistory();
pdfHandlerResult.knownBrowser = false;
info("Testing setAsDefaultPDFHandler(true) when knownBrowser = false");
ShellService.setAsDefaultPDFHandler(true);
Assert.ok(
_callExternalDefaultBrowserAgentStub.notCalled,
"Did not call default browser agent"
);
_callExternalDefaultBrowserAgentStub.resetHistory();
info("Testing setAsDefaultPDFHandler(false) when knownBrowser = false");
ShellService.setAsDefaultPDFHandler(false);
Assert.ok(
_callExternalDefaultBrowserAgentStub.called,
"Called default browser agent"
);
Assert.deepEqual(
_callExternalDefaultBrowserAgentStub.firstCall.args,
[{ arguments: expectedArguments }],
"Called default browser agent with expected arguments"
);
_callExternalDefaultBrowserAgentStub.resetHistory();
} finally {
sandbox.restore();
}
});