Bug 1805509 - Add ShellService.setAsDefaultPDFHandler r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D169817
This commit is contained in:
@@ -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();
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user