summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/chrome/test_intlUtils_getLocaleInfo.html
blob: 35bbcc165803bce5c09091b2f18011ead350b97e (plain)
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>