Skip to content

Commit 9cbd56d

Browse files
test: update locale tests
1 parent 1ff17d6 commit 9cbd56d

File tree

731 files changed

+5841
-4583
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

731 files changed

+5841
-4583
lines changed

build-locales.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ module.exports.buildLocales = (intl, { contentTemplate = defaultTemplate, extens
6666
loadLocale(name, intl);
6767

6868
intl.firstDay(name);
69+
intl.weekendRange(name);
6970

7071
if (!NO_CURRENCY[name]) {
7172
intl.localeCurrency(name);

examples/basic.html

Lines changed: 3 additions & 214 deletions
Original file line numberDiff line numberDiff line change
@@ -2,226 +2,15 @@
22
<html>
33
<head>
44
<script>var exports = {}; </script>
5-
<script src="../dist/cdn/js/kendo-intl.js"></script>
5+
<script src="../dist/npm/main.js"></script>
66

77
</head>
88
<body>
99
<input />
1010
<script>
11-
var intl = exports.KendoIntl;
11+
var intl = exports;
1212

13-
var KEY_CODES = {
14-
BACKSPACE: 8,
15-
ARROWS: {
16-
UP: 38,
17-
DOWN: 40,
18-
LEFT: 37,
19-
RIGHT: 39
20-
}
21-
};
22-
23-
var DateSetters = {
24-
month: function(date, value) {
25-
if (1 <= value && value <= 12) {
26-
date.setMonth(value);
27-
return true;
28-
}
29-
},
30-
day: function(date, value) {
31-
var newDate = new Date(date);
32-
newDate.setDate(value);
33-
if (newDate.getMonth() === date.getMonth()) {
34-
date.setDate(value);
35-
return true;
36-
}
37-
},
38-
year: function(date, value) {
39-
date.setFullYear(value);
40-
return true;
41-
}
42-
}
43-
44-
var DateModifiers = {
45-
month: function(date, offset) {
46-
date.setMonth(date.getMonth() + offset);
47-
},
48-
day: function(date, offset) {
49-
date.setDate(date.getDate() + offset);
50-
},
51-
year: function(date, offset) {
52-
date.setFullYear(date.getFullYear() + offset);
53-
}
54-
};
55-
56-
var Input = function(element, format, date) {
57-
this.element = element;
58-
this.parts = intl.splitDateFormat(format);
59-
this.date = date;
60-
this.element.addEventListener("keydown", this.onKeyDown.bind(this));
61-
this.element.addEventListener("keypress", this.onKeyPress.bind(this));
62-
this.init();
63-
};
64-
65-
Input.prototype = {
66-
init: function() {
67-
var parts = this.parts;
68-
var inputValue = '';
69-
for (var idx = 0; idx < parts.length; idx++) {
70-
var part = parts[idx];
71-
var value;
72-
if (part.type === 'literal') {
73-
value = part.pattern;
74-
} else {
75-
value = intl.formatDate(this.date, { pattern: part.pattern });
76-
if (part.names) {
77-
part.names = intl.dateFormatNames('en', part.names);
78-
}
79-
}
80-
part.value = value;
81-
inputValue += value;
82-
}
83-
84-
this.elementValue = this.element.value = inputValue;
85-
},
86-
87-
setValue: function() {
88-
var parts = this.parts;
89-
var inputValue = '';
90-
for (var idx = 0; idx < parts.length; idx++) {
91-
var part = parts[idx];
92-
inputValue += part.name || part.value;
93-
}
94-
95-
this.elementValue = this.element.value = inputValue;
96-
},
97-
98-
adjacentPart: function(idx, dir) {
99-
var current = this.parts[idx];
100-
var next = this.parts[idx + dir];
101-
102-
if (next && next.type === 'literal') {
103-
next = this.parts[idx + 2 * dir];
104-
if (dir > 0 && next) {
105-
next.position = current.position + (current.name || current.value).length + this.parts[idx + dir].value.length;
106-
}
107-
}
108-
109-
return next;
110-
},
111-
112-
onKeyDown: function(e) {
113-
var position = this.element.selectionStart;
114-
var partIdx = this.getPartIndex(position);
115-
var parts = this.parts;
116-
var part = parts[partIdx];
117-
var keyCode = e.keyCode;
118-
var backspace = keyCode == KEY_CODES.BACKSPACE;
119-
var up = keyCode == KEY_CODES.ARROWS.UP;
120-
var down = keyCode == KEY_CODES.ARROWS.DOWN;
121-
var left = keyCode == KEY_CODES.ARROWS.LEFT;
122-
var right = keyCode == KEY_CODES.ARROWS.RIGHT;
123-
var handle = this._metaKey = backspace || up || down || left || right;
124-
125-
if (backspace) {
126-
if(!part.name) {
127-
part.name = part.type;
128-
this.setValue();
129-
}
130-
delete part.currentValue;
131-
} else if (up || down) {
132-
delete part.name;
133-
delete part.currentValue;
134-
var offset = up ? 1 : -1;
135-
DateModifiers[part.type](this.date, offset);
136-
part.value = intl.formatDate(this.date, { pattern: part.pattern });
137-
this.setValue();
138-
} else if (left) {
139-
part = this.adjacentPart(partIdx, -1);
140-
} else if (right) {
141-
part = this.adjacentPart(partIdx, 1);
142-
}
143-
144-
if (handle) {
145-
e.preventDefault();
146-
if (part) {
147-
this.element.setSelectionRange(part.position, part.position + (part.name || part.value).length);
148-
}
149-
}
150-
},
151-
152-
onKeyPress: function(e) {
153-
var position = this.element.selectionStart;
154-
var partIdx = this.getPartIndex(position);
155-
var parts = this.parts;
156-
var part = parts[partIdx];
157-
if (!this._metaKey) {
158-
e.preventDefault();
159-
var key = e.key.toLowerCase();
160-
var value = (part.currentValue || '') + key;
161-
if (part.names) {
162-
if (!this.trySetName(value, part) && part.currentValue) {
163-
this.trySetName(key, part);
164-
}
165-
} else {
166-
if (!this.trySetNumber(value, part)) {
167-
this.trySetNumber(key, part);
168-
}
169-
}
170-
}
171-
},
172-
173-
trySetNumber: function(value, part) {
174-
var number = parseInt(value, 10);
175-
if (!isNaN(number) && DateSetters[part.type](this.date, number)) {
176-
delete part.name;
177-
part.currentValue = value;
178-
part.value = value;
179-
this.setValue();
180-
this.element.setSelectionRange(part.position, part.position + value.length);
181-
return true;
182-
}
183-
},
184-
185-
trySetName: function(value, part) {
186-
for (let idx = 0; idx < part.names.length; idx++) {
187-
if (part.names[idx].toLowerCase().startsWith(value)) {
188-
this.date.setMonth(idx);
189-
part.currentValue = value;
190-
part.value = intl.formatDate(this.date, { pattern: part.pattern });
191-
delete part.name;
192-
this.setValue();
193-
this.element.setSelectionRange(part.position, part.position + value.length);
194-
return true;
195-
}
196-
}
197-
198-
},
199-
200-
getPartIndex: function(position) {
201-
var parts = this.parts;
202-
var length = 0;
203-
var idx = -1;
204-
var part;
205-
206-
do {
207-
idx++;
208-
part = parts[idx];
209-
part.position = length;
210-
length += (part.name || part.value).length;
211-
} while (length < position);
212-
213-
if (part.type === "literal") {
214-
idx += parts[idx + 1] ? 1 : -1;
215-
if (parts[idx]) {
216-
parts[idx].position = length;
217-
}
218-
}
219-
220-
return idx;
221-
}
222-
};
223-
224-
var input = new Input(document.getElementsByTagName("input")[0], "MMMM/d/y", new Date());
13+
console.log(intl.weekendRange('en'));
22514
</script>
22615
</body>
22716
</html>

locale-tests/generated-locales.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { cldr, formatNumber, parseNumber, formatDate, parseDate, firstDay, setData } from '../src/main';
1+
import { cldr, formatNumber, parseNumber, formatDate, parseDate, firstDay, weekendRange, setData } from '../src/main';
22

33
const fs = require('fs');
44
const path = require('path');
@@ -123,6 +123,12 @@ describe('generated-locales', () => {
123123
firstDay(locale);
124124
}).not.toThrow();
125125
});
126+
127+
it('weekendRange', () => {
128+
expect(() => {
129+
weekendRange(locale);
130+
}).not.toThrow();
131+
});
126132
});
127133

128134
describe(`all`, () => {
@@ -190,6 +196,12 @@ describe('generated-locales', () => {
190196
firstDay(locale);
191197
}).not.toThrow();
192198
});
199+
200+
it('weekendRange', () => {
201+
expect(() => {
202+
weekendRange(locale);
203+
}).not.toThrow();
204+
});
193205
});
194206

195207
});

locale-tests/locales/af-NA/all.js

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2058,20 +2058,20 @@ const data = {
20582058
eras: {
20592059
format: {
20602060
wide: {
2061-
0: "voor Christus",
2062-
1: "na Christus",
2061+
"0": "voor Christus",
2062+
"1": "na Christus",
20632063
"0-alt-variant": "voor die gewone jaartelling",
20642064
"1-alt-variant": "gewone jaartelling"
20652065
},
20662066
abbreviated: {
2067-
0: "v.C.",
2068-
1: "n.C.",
2067+
"0": "v.C.",
2068+
"1": "n.C.",
20692069
"0-alt-variant": "v.g.j.",
20702070
"1-alt-variant": "g.j."
20712071
},
20722072
narrow: {
2073-
0: "v.C.",
2074-
1: "n.C.",
2073+
"0": "v.C.",
2074+
"1": "n.C.",
20752075
"0-alt-variant": "v.g.j.",
20762076
"1-alt-variant": "g.j."
20772077
}
@@ -2158,6 +2158,10 @@ const data = {
21582158
}
21592159
},
21602160
firstDay: 1,
2161+
weekendRange: {
2162+
start: 6,
2163+
end: 0
2164+
},
21612165
likelySubtags: {
21622166
af: "af-Latn-ZA"
21632167
}

locale-tests/locales/af-NA/calendar.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -366,20 +366,20 @@ const data = {
366366
eras: {
367367
format: {
368368
wide: {
369-
0: "voor Christus",
370-
1: "na Christus",
369+
"0": "voor Christus",
370+
"1": "na Christus",
371371
"0-alt-variant": "voor die gewone jaartelling",
372372
"1-alt-variant": "gewone jaartelling"
373373
},
374374
abbreviated: {
375-
0: "v.C.",
376-
1: "n.C.",
375+
"0": "v.C.",
376+
"1": "n.C.",
377377
"0-alt-variant": "v.g.j.",
378378
"1-alt-variant": "g.j."
379379
},
380380
narrow: {
381-
0: "v.C.",
382-
1: "n.C.",
381+
"0": "v.C.",
382+
"1": "n.C.",
383383
"0-alt-variant": "v.g.j.",
384384
"1-alt-variant": "g.j."
385385
}

locale-tests/locales/af/all.js

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2057,20 +2057,20 @@ const data = {
20572057
eras: {
20582058
format: {
20592059
wide: {
2060-
0: "voor Christus",
2061-
1: "na Christus",
2060+
"0": "voor Christus",
2061+
"1": "na Christus",
20622062
"0-alt-variant": "voor die gewone jaartelling",
20632063
"1-alt-variant": "gewone jaartelling"
20642064
},
20652065
abbreviated: {
2066-
0: "v.C.",
2067-
1: "n.C.",
2066+
"0": "v.C.",
2067+
"1": "n.C.",
20682068
"0-alt-variant": "v.g.j.",
20692069
"1-alt-variant": "g.j."
20702070
},
20712071
narrow: {
2072-
0: "v.C.",
2073-
1: "n.C.",
2072+
"0": "v.C.",
2073+
"1": "n.C.",
20742074
"0-alt-variant": "v.g.j.",
20752075
"1-alt-variant": "g.j."
20762076
}
@@ -2157,6 +2157,10 @@ const data = {
21572157
}
21582158
},
21592159
firstDay: 0,
2160+
weekendRange: {
2161+
start: 6,
2162+
end: 0
2163+
},
21602164
likelySubtags: {
21612165
af: "af-Latn-ZA"
21622166
}

locale-tests/locales/af/calendar.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -365,20 +365,20 @@ const data = {
365365
eras: {
366366
format: {
367367
wide: {
368-
0: "voor Christus",
369-
1: "na Christus",
368+
"0": "voor Christus",
369+
"1": "na Christus",
370370
"0-alt-variant": "voor die gewone jaartelling",
371371
"1-alt-variant": "gewone jaartelling"
372372
},
373373
abbreviated: {
374-
0: "v.C.",
375-
1: "n.C.",
374+
"0": "v.C.",
375+
"1": "n.C.",
376376
"0-alt-variant": "v.g.j.",
377377
"1-alt-variant": "g.j."
378378
},
379379
narrow: {
380-
0: "v.C.",
381-
1: "n.C.",
380+
"0": "v.C.",
381+
"1": "n.C.",
382382
"0-alt-variant": "v.g.j.",
383383
"1-alt-variant": "g.j."
384384
}

0 commit comments

Comments
 (0)