1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
<!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.regionalPrefsLocales[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>
|