1
Cu.import("resource://gre/modules/AddonManager.jsm");
2
Cu.import("resource://gre/modules/FileUtils.jsm");
6
Services.prefs.setBoolPref("intl.locale.matchOS", false);
10
Cc["@mozilla.org/addons/integration;1"].getService(Ci.nsIObserver).observe(null, "addons-startup", null);
12
// We've started the addon manager, but need to manually register addon chrome
13
// for non-restartless addons. This is normally handled in
14
// toolkit/xre/nsXREDirProvider.cpp, which is not available to xpcshell. When
15
// we use restartless language packs, this can go away
16
let extensions_ini = Services.dirsvc.get("ProfD", Ci.nsIFile);
17
extensions_ini.append("extensions.ini");
19
let re = /langpack-[a-zA-Z\-]+@firefox.mozilla.org.xpi/;
20
parser = Components.manager.getClassObjectByContractID("@mozilla.org/xpcom/ini-parser-factory;1", Ci.nsIINIParserFactory).createINIParser(extensions_ini);
21
let e = parser.getKeys("ExtensionDirs");
24
let file = new FileUtils.File(parser.getString("ExtensionDirs", k));
25
if (file.leafName.match(re)) {
26
Components.manager.addBootstrappedManifestLocation(file);
30
let istream = Services.io.newChannelFromURI(Services.io.newFileURI(do_get_file("data/locales.shipped"))).open();
32
let line = { value: "" };
34
while (istream.readLine(line)) {
35
if (!line.value.match(/^\s*#.*/)) {
36
locales.push(line.value.replace(/^([^:]*).*/, "$1"))
40
let chrome = Cc["@mozilla.org/chrome/chrome-registry;1"].getService(Ci.nsIXULChromeRegistry);
42
locales.forEach(function(locale) {
43
do_print("Testing locale " + locale);
45
Services.strings.flushBundles();
46
Services.prefs.setCharPref("general.useragent.locale", locale);
48
do_check_eq(chrome.getSelectedLocale("global"), locale);