fune/toolkit/components/backgroundtasks/tests/xpcshell/test_backgroundtask_specific_pref.js
Nick Alexander eb8ab6ddf2 Bug 1667276 - Part 3: Load a custom prefs file when running a background task. r=mossop,KrisWright
There are some complications here to handle unpackaged and packaged
builds.  In addition, there could be a difference between App prefs
and GRE prefs.  Since the underlying backgroundtasks code is built as
part of Gecko (i.e., `toolkit/...` rather than `browser/...`) I have
favoured GRE prefs.  I think, however, that what is written will work
for App-specific prefs, but I'm not concerned with that detail at this
time.

This also add tests for backgroundtask-specific prefs, which are
structured as both xpcshell and mochitest-chrome tests because
locally, the former tests unpackaged builds and the latter can
accommodate testing packaged builds.  We could use mochitest-chrome
for both, but this has been pleasant to work with locally.

Differential Revision: https://phabricator.services.mozilla.com/D97510
2021-01-27 18:10:33 +00:00

20 lines
807 B
JavaScript

/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
* vim: sw=4 ts=4 sts=4 et
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
add_task(async function test_backgroundtask_specific_pref() {
// First, verify this pref isn't set in Gecko itself.
Assert.equal(
-1,
Services.prefs.getIntPref("test.backgroundtask_specific_pref.exitCode", -1)
);
// Second, verify that this pref is set in background tasks.
// xpcshell tests locally test unpackaged builds.
let exitCode = await do_backgroundtask("backgroundtask_specific_pref", {
extraArgs: ["test.backgroundtask_specific_pref.exitCode"],
});
Assert.equal(79, exitCode);
});