35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
// Disable `xpc::IsInAutomation()` so that missing variables don't throw
|
|
// errors.
|
|
Services.prefs.setBoolPref(
|
|
"security.turn_off_all_security_so_that_viruses_can_take_over_this_computer",
|
|
false
|
|
);
|
|
|
|
/**
|
|
* The following test demonstrates crashing behavior.
|
|
*/
|
|
add_task(function test_missing_variables() {
|
|
const l10nReg = new L10nRegistry();
|
|
|
|
const fs = [
|
|
{ path: "/localization/en-US/browser/test.ftl", source: "welcome-message = Welcome { $user }\n" }
|
|
]
|
|
const locales = ["en-US"];
|
|
const source = L10nFileSource.createMock("test", "app", locales, "/localization/{locale}", fs);
|
|
l10nReg.registerSources([source]);
|
|
const l10n = new Localization(["/browser/test.ftl"], true, l10nReg, locales);
|
|
|
|
{
|
|
const [message] = l10n.formatValuesSync([{ id: "welcome-message", args: { user: "Greg" } }]);
|
|
equal(message, "Welcome Greg");
|
|
}
|
|
|
|
{
|
|
// This will crash in debug builds.
|
|
const [message] = l10n.formatValuesSync([{ id: "welcome-message" }]);
|
|
equal(message, "Welcome {$user}");
|
|
}
|
|
});
|