This repository has been archived by the owner on Nov 21, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
test.js
73 lines (63 loc) · 2.33 KB
/
test.js
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
68
69
70
71
72
73
var tape = require('tape');
var locale = require('./');
var availableLocales = [
'en-US',
'en-GB',
'es',
'es-ES',
'pt-PT',
'tr',
'zh-Hans',
'iw',
'ji',
'in'
];
tape('test bestMatchingLocale', function(t) {
t.equal(locale.bestMatchingLocale('EN', availableLocales), 'en-US');
t.equal(locale.bestMatchingLocale('en', availableLocales), 'en-US');
t.equal(locale.bestMatchingLocale('en-GB', availableLocales), 'en-GB');
t.equal(locale.bestMatchingLocale('en-gb', availableLocales), 'en-GB');
t.equal(locale.bestMatchingLocale('en_gb', availableLocales), 'en-GB');
t.equal(locale.bestMatchingLocale('foobar', availableLocales), null);
t.equal(locale.bestMatchingLocale('es-MX', availableLocales), 'es');
t.equal(locale.bestMatchingLocale('es-mx', availableLocales), 'es');
t.equal(locale.bestMatchingLocale('zh-Hans-region', availableLocales), 'zh-Hans');
t.equal(locale.bestMatchingLocale('pt-BR', availableLocales), 'pt-PT');
t.equal(locale.bestMatchingLocale('iw', availableLocales), 'he', 'Test deprecated locale');
t.equal(locale.bestMatchingLocale('iw-IL', availableLocales), 'he', 'Test deprecated locale');
t.equal(locale.bestMatchingLocale('iw', ['iw-IL']), 'he-IL', 'Test deprecated locale');
t.equal(locale.bestMatchingLocale('ji', availableLocales), 'yi', 'Test deprecated locale');
t.equal(locale.bestMatchingLocale('in', availableLocales), 'id', 'Test deprecated locale');
t.throws(function () {
locale.bestMatchingLocale('en', ['foobar']);
}, /foobar/);
t.end();
});
tape('test parseLocaleIntoCodes', function(t) {
t.deepEqual(locale.parseLocaleIntoCodes('en'), {
locale: 'en',
language: 'en',
script: undefined,
region: undefined
});
t.deepEqual(locale.parseLocaleIntoCodes('es-MX'), {
locale: 'es-MX',
language: 'es',
script: undefined,
region: 'MX'
});
t.deepEqual(locale.parseLocaleIntoCodes('spa-ES'), {
locale: 'spa-ES',
language: 'spa',
script: undefined,
region: 'ES'
});
t.deepEqual(locale.parseLocaleIntoCodes('zh-hans-HK'), {
locale: 'zh-Hans-HK',
language: 'zh',
script: 'Hans',
region: 'HK'
});
t.equal(locale.parseLocaleIntoCodes('foobar'), null);
t.end();
});