diff options
Diffstat (limited to 'toolkit/mozapps/extensions/test/xpcshell/test_addonStartup.js')
-rw-r--r-- | toolkit/mozapps/extensions/test/xpcshell/test_addonStartup.js | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_addonStartup.js b/toolkit/mozapps/extensions/test/xpcshell/test_addonStartup.js new file mode 100644 index 0000000000..715b74a068 --- /dev/null +++ b/toolkit/mozapps/extensions/test/xpcshell/test_addonStartup.js @@ -0,0 +1,93 @@ +"use strict"; + +add_task(async function test_XPIStates_invalid_paths() { + let { path } = gAddonStartup; + + let startupDatasets = [ + { + "app-profile": { + addons: { + "xpcshell-something-or-other@mozilla.org": { + bootstrapped: true, + dependencies: [], + enabled: true, + hasEmbeddedWebExtension: false, + lastModifiedTime: 1, + path: "xpcshell-something-or-other@mozilla.org", + version: "0.0.0", + }, + }, + checkStartupModifications: true, + path: "/home/xpcshell/.mozilla/firefox/default/extensions", + }, + }, + { + "app-profile": { + addons: { + "xpcshell-something-or-other@mozilla.org": { + bootstrapped: true, + dependencies: [], + enabled: true, + hasEmbeddedWebExtension: false, + lastModifiedTime: 1, + path: "xpcshell-something-or-other@mozilla.org", + version: "0.0.0", + }, + }, + checkStartupModifications: true, + path: "c:\\Users\\XpcShell\\Application Data\\Mozilla Firefox\\Profiles\\meh", + }, + }, + { + "app-profile": { + addons: { + "xpcshell-something-or-other@mozilla.org": { + bootstrapped: true, + dependencies: [], + enabled: true, + hasEmbeddedWebExtension: false, + lastModifiedTime: 1, + path: "/home/xpcshell/my-extensions/something-or-other", + version: "0.0.0", + }, + }, + checkStartupModifications: true, + path: "/home/xpcshell/.mozilla/firefox/default/extensions", + }, + }, + { + "app-profile": { + addons: { + "xpcshell-something-or-other@mozilla.org": { + bootstrapped: true, + dependencies: [], + enabled: true, + hasEmbeddedWebExtension: false, + lastModifiedTime: 1, + path: "c:\\Users\\XpcShell\\my-extensions\\something-or-other", + version: "0.0.0", + }, + }, + checkStartupModifications: true, + path: "c:\\Users\\XpcShell\\Application Data\\Mozilla Firefox\\Profiles\\meh", + }, + }, + ]; + + for (let startupData of startupDatasets) { + await IOUtils.writeJSON(path, startupData, { compress: true }); + + try { + let result = aomStartup.readStartupData(); + info(`readStartupData() returned ${JSON.stringify(result)}`); + } catch (e) { + // We don't care if this throws, only that it doesn't crash. + info(`readStartupData() threw: ${e}`); + equal( + e.result, + Cr.NS_ERROR_FILE_UNRECOGNIZED_PATH, + "Got expected error code" + ); + } + } +}); |