Source code

Revision control

Copy as Markdown

Other Tools

/* 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/. */
const NS_APP_USER_PROFILE_50_DIR = "ProfD";
function do_check_throws(f, result, stack) {
if (!stack) {
stack = Components.stack.caller;
}
try {
f();
} catch (exc) {
equal(exc.result, result, "Correct exception was thrown");
return;
}
ok(false, "expected result " + result + ", none thrown");
}
// Register current test directory as provider for the profile directory.
var provider = {
getFile(prop, persistent) {
persistent.value = true;
if (prop == NS_APP_USER_PROFILE_50_DIR) {
return Services.dirsvc.get("CurProcD", Ci.nsIFile);
}
throw Components.Exception(
"Tried to get test directory '" + prop + "'",
Cr.NS_ERROR_FAILURE
);
},
QueryInterface: ChromeUtils.generateQI(["nsIDirectoryServiceProvider"]),
};
Services.dirsvc
.QueryInterface(Ci.nsIDirectoryService)
.registerProvider(provider);