gecko-dev/dom/tests/mochitest/chrome/test_intlUtils_getLocaleInf...

69 строки
1.7 KiB
HTML

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=1346084
-->
<head>
<title>Test for Bug 1346084 </title>
<script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css">
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1346084 ">Mozilla Bug 1346084</a>
<p id="display"></p>
<div id="content" style="display: none">
<script>
const localeService =
Cc["@mozilla.org/intl/localeservice;1"].getService(Ci.mozILocaleService);
const mozIntl = Cc["@mozilla.org/mozintl;1"].getService(Ci.mozIMozIntl);
let rpLocale = localeService.negotiateLanguages(localeService.regionalPrefsLocales,
localeService.availableLocales)[0];
let testData = [
{
locales: ["en-US"],
expected: {
locale: "en-US",
direction: "ltr",
}
},
{
locales: ["fr"],
expected: {
locale: "fr",
direction: "ltr",
}
},
{
locales: ["ar"],
expected: {
locale: "ar",
direction: "rtl",
}
},
// IntlUtils uses current regional prefs locales if locales is not provided.
{
locales: [],
expected: {
locale: rpLocale,
direction: mozIntl.getLocaleInfo(rpLocale).direction,
}
},
];
let intlUtils = window.intlUtils;
ok(intlUtils, "window.intlUtils should exist");
for (let { locales, expected } of testData) {
let result = intlUtils.getLocaleInfo(locales);
is(result.locale, expected.locale, "locale is " + expected.locale);
is(result.direction, expected.direction, "direction is " + expected.direction);
}
</script>
</body>
</html>