57 lines
1.7 KiB
JavaScript
57 lines
1.7 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
"use strict";
|
|
|
|
/**
|
|
* Test that l10n helpers behave as expected when the key is missing from the
|
|
* localization file.
|
|
*/
|
|
|
|
add_task(async function test_non_strict() {
|
|
const { LocalizationHelper } = require("resource://devtools/shared/l10n.js");
|
|
const helper = new LocalizationHelper(
|
|
"devtools/client/locales/startup.properties"
|
|
);
|
|
|
|
Assert.equal(
|
|
helper.getStr("key"),
|
|
"key",
|
|
"getStr should return the key in non-strict mode if the file is missing"
|
|
);
|
|
Assert.equal(
|
|
helper.getFormatStr("key"),
|
|
"key",
|
|
"getFormatStr should return the key in non-strict mode if the file is missing"
|
|
);
|
|
Assert.equal(
|
|
helper.getFormatStrWithNumbers("key"),
|
|
"key",
|
|
"getFormatStrWithNumbers should return the key in non-strict mode if the file is missing"
|
|
);
|
|
});
|
|
|
|
add_task(async function test_strict() {
|
|
const { LocalizationHelper } = require("resource://devtools/shared/l10n.js");
|
|
const helper = new LocalizationHelper(
|
|
"devtools/client/locales/startup.properties",
|
|
true // strict=true
|
|
);
|
|
Assert.throws(
|
|
() => helper.getStr("key"),
|
|
/No localization found for \[key\]/,
|
|
"Should throw when calling getStr in strict mode"
|
|
);
|
|
Assert.throws(
|
|
() => helper.getFormatStr("key", "arg"),
|
|
/No localization found for \[key\]/,
|
|
"Should throw when calling getFormatStr in strict mode"
|
|
);
|
|
Assert.throws(
|
|
() => helper.getFormatStrWithNumbers("key", 12),
|
|
/No localization found for \[key\]/,
|
|
"Should throw when calling getFormatStrWithNumbers in strict mode"
|
|
);
|
|
});
|