Files
config-pacs-docker/nv/html/dwv/tests/utils/i18n.test.js
2025-02-26 14:49:25 +07:00

55 lines
1.6 KiB
JavaScript

/**
* Tests for the 'utils/i18n' file.
*/
/** @module tests/utils */
// Do not warn if these variables were not defined before.
/* global QUnit */
QUnit.module("i18n");
/**
*
*/
function checkLanguage(language, keys, assert) {
var done = assert.async();
// fail test if load fails
dwv.i18nOnFailedLoad( function (lng /*, ns, msg*/) {
assert.ok(false, "Failed loading '" + lng + "' language.");
// stop linstening
dwv.i18nOffFailedLoad();
// finish async test
done();
});
// test once initialised
dwv.i18nOnInitialised( function (/*options*/) {
// stop linstening
dwv.i18nOffInitialised();
// check some values
for (var i = 0; i < keys.length; ++i ) {
assert.equal(dwv.i18nExists(keys[i][0]), true, "i18n "+language+" translation exists");
assert.equal(dwv.i18n(keys[i][0]), keys[i][1], "i18n "+language+" translation is ok");
}
// finish async test
done();
});
// initialise with input language
dwv.i18nInitialise(language, "..");
}
/**
* Tests for {@link dwv.i18n} with en language.
* @function module:tests/i18n
*/
QUnit.test("Test i18n en.", function (assert) {
var keys = [["basics.open", "Open"], ["basics.close", "Close"]];
checkLanguage("en", keys, assert);
});
/**
* Tests for {@link dwv.i18n} with fr language.
* @function module:tests/i18n
*/
QUnit.test("Test i18n fr.", function (assert) {
var keys = [["basics.open", "Ouvrir"], ["basics.close", "Fermer"]];
checkLanguage("fr", keys, assert);
});