-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathutil.test.ts
45 lines (38 loc) · 1.53 KB
/
util.test.ts
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
import {expect} from '@jest/globals';
import {codeToFiles, localize} from '../services/util';
import {mockFirebase} from './firebaseMocks';
beforeAll(() => mockFirebase());
describe('TestCodeToFiles', () => {
describe('basic file structure', () => {
it('Should print proper files', async () => {
const code = {
'index.ts': 'console.log("Hello world")',
'src': {
'index.ts': 'console.log("src")',
'sub': {
'index.ts': 'console.log("sub")',
'yoyo.ts': 'console.log("yoyo")',
},
}
};
const expected = {
'index.ts': 'console.log("Hello world")',
'src/index.ts': 'console.log("src")',
'src/sub/index.ts': 'console.log("sub")',
'src/sub/yoyo.ts': 'console.log("yoyo")',
};
const result = codeToFiles(code);
console.log(result);
expect(result).toEqual(expected);
});
});
});
describe('Test Localization', function () {
it('Should localize properly', () => {
expect(localize(undefined, 'enUS')).toEqual('');
expect(localize('hello', 'enUS')).toEqual('hello');
expect(localize({'enUS': 'hi', 'hyAM': 'barev'}, 'enUS')).toEqual('hi');
expect(localize({'enUS': 'hi', 'hyAM': 'barev'}, 'hyAM')).toEqual('barev');
expect(localize({'enUS': 'hi', 'hyAM': 'barev'}, 'ruRU')).toEqual('hi');
});
});