-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtest.js
43 lines (35 loc) · 1.01 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
import test from 'ava';
import i18n from './index';
import { mergeDB } from './cli/helpers';
import db from './i18n.db.json';
// Define db
i18n.db = db;
// Dummy data
const data = [
'World',
'🍦',
'✌️'
];
test('locale change', t => {
i18n.locale = 'es';
t.is(i18n`Hello ${data[0]}!`, `Hola ${data[0]}!`);
i18n.locale = 'de';
t.is(i18n`Hello ${data[0]}!`, `Hallo ${data[0]}!`);
});
test('nested tags', t => {
const template = `Hello test ${data[0]}... ${i18n`${data[1]} - ${data[2]}... Such wow!`}`;
t.is(i18n`${template}`, template);
});
test('CLI mergeDB', t => {
const data = {
de: 'Hallo'.split(' '),
es: 'Hola'.split(' ')
};
const existingDB = {'token': { 'de': data.de }};
const updatedDB = {'token': { 'es': data.es }};
const mergedDB = {'token': { de: data.de, es: data.es }};
t.deepEqual(mergeDB(existingDB, updatedDB), mergedDB);
t.deepEqual(mergeDB({}, updatedDB), updatedDB);
});
test.todo('traverseFile relative + absolute (NODE_PATH) imports')
test.todo('traverseNode')