/* 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}" );
}
});
Messung V0.5 C=87 H=100 G=93
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland