Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
/* exported run_test */
const {XPConnectService} = require("bootstrap/api/services/xpconnect-service");
const xpconnectService = new XPConnectService();
const {
FileUtils: mozFileUtils,
} = Cu.import("resource://gre/modules/FileUtils.jsm", {});
const {FileService} = require("bootstrap/api/services/file-service");
const fileService = new FileService(xpconnectService, mozFileUtils);
const {JsonStorage} = require("bootstrap/api/storage/json-storage");
const jsonStorage = new JsonStorage(fileService);
function run_test() {
run_next_test();
}
add_test(function() {
// exercise
const fullJsonStorage = jsonStorage.getAll();
// verify
Assert.deepEqual(fullJsonStorage, {});
run_next_test();
} = (function() {
const {XPConnectService} = require("bootstrap/api/services/xpconnect-service");
const xpcService = new XPConnectService();
const {
FileUtils: mozFileUtils,
} = Cu.import("resource://gre/modules/FileUtils.jsm", {});
const {FileService} = require("bootstrap/api/services/file-service");
const fileService = new FileService(xpcService, mozFileUtils);
function createRPFile(aPath, aContent) {
const file = fileService.getRPFile(aPath);
const foStream = Cc["@mozilla.org/network/file-output-stream;1"].
createInstance(Ci.nsIFileOutputStream);
foStream.init(file, 0x02 | 0x08 | 0x20, 0o666, 0);
const converter = Cc["@mozilla.org/intl/converter-output-stream;1"].
createInstance(Ci.nsIConverterOutputStream);
converter.init(foStream, "UTF-8", 0, 0);
converter.writeString(aContent);
converter.close(); // this closes foStream
}
function removeAllRPFiles() {
/* exported run_test */
const {XPConnectService} = require("bootstrap/api/services/xpconnect-service");
const xpcService = new XPConnectService();
const {
FileUtils: mozFileUtils,
} = Cu.import("resource://gre/modules/FileUtils.jsm", {});
const {FileService} = require("bootstrap/api/services/file-service");
const fileService = new FileService(xpcService, mozFileUtils);
function run_test() {
run_next_test();
}
add_test(function() {
// Make sure the RP user dir doesn't already exist.
// exercise
const rpUserDir = do_get_profile();
rpUserDir.append("requestpolicy");
// verify
do_check_false(rpUserDir.exists());
run_next_test();
const {Storage} = require("bootstrap/api/storage/storage.module");
const {SyncLocalStorageArea} = require("bootstrap/api/storage/sync-local-storage-area");
const {Log} = require("lib/classes/log");
const log = new Log();
const xpconnectService = new XPConnectService();
const jsmService = new JSMService(Cu);
const mozFileUtils = jsmService.getFileUtils();
const mozServices = jsmService.getServices();
const rpPrefBranch = new PrefBranch(
Ci,
mozServices.prefs,
xpconnectService,
"extensions.requestpolicy."
);
const fileService = new FileService(xpconnectService, mozFileUtils);
const jsonStorage = new JsonStorage(fileService);
const syncLocalStorageArea = new SyncLocalStorageArea(
mozServices.prefs, rpPrefBranch, jsonStorage
);
function createStorageApi() {
return new Storage(log, syncLocalStorageArea, rpPrefBranch);
}
//
// get()
//
["foo", ["foo"], {foo: "DEFAULT"}].forEach((getParameter) => {
add_task(function * () {
// setup