37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
/* 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);
|