|
6 | 6 | */ |
7 | 7 |
|
8 | 8 | import path from 'path'; |
| 9 | +import fs from 'fs-extra'; |
9 | 10 | import { |
10 | 11 | fileToPath, |
11 | 12 | simpleHash, |
@@ -33,6 +34,7 @@ import { |
33 | 34 | findFolderContainingFile, |
34 | 35 | getFolderContainingFile, |
35 | 36 | updateTranslationFileMessages, |
| 37 | + readDefaultCodeTranslationMessages, |
36 | 38 | } from '../index'; |
37 | 39 | import {sum} from 'lodash'; |
38 | 40 |
|
@@ -718,3 +720,89 @@ describe('updateTranslationFileMessages', () => { |
718 | 720 | }); |
719 | 721 | }); |
720 | 722 | }); |
| 723 | + |
| 724 | +describe('readDefaultCodeTranslationMessages', () => { |
| 725 | + const dirPath = path.resolve( |
| 726 | + __dirname, |
| 727 | + '__fixtures__', |
| 728 | + 'defaultCodeTranslations', |
| 729 | + ); |
| 730 | + |
| 731 | + async function readAsJSON(filename: string) { |
| 732 | + return JSON.parse( |
| 733 | + await fs.readFile(path.resolve(dirPath, filename), 'utf8'), |
| 734 | + ); |
| 735 | + } |
| 736 | + |
| 737 | + test('for empty locale', async () => { |
| 738 | + await expect( |
| 739 | + readDefaultCodeTranslationMessages({ |
| 740 | + locale: '', |
| 741 | + dirPath, |
| 742 | + }), |
| 743 | + ).resolves.toEqual({}); |
| 744 | + }); |
| 745 | + |
| 746 | + test('for unexisting locale', async () => { |
| 747 | + await expect( |
| 748 | + readDefaultCodeTranslationMessages({ |
| 749 | + locale: 'es', |
| 750 | + dirPath, |
| 751 | + }), |
| 752 | + ).resolves.toEqual({}); |
| 753 | + }); |
| 754 | + |
| 755 | + test('for fr but bad folder', async () => { |
| 756 | + await expect( |
| 757 | + readDefaultCodeTranslationMessages({ |
| 758 | + locale: '', |
| 759 | + dirPath: __dirname, |
| 760 | + }), |
| 761 | + ).resolves.toEqual({}); |
| 762 | + }); |
| 763 | + |
| 764 | + test('for fr', async () => { |
| 765 | + await expect( |
| 766 | + readDefaultCodeTranslationMessages({ |
| 767 | + locale: 'fr', |
| 768 | + dirPath, |
| 769 | + }), |
| 770 | + ).resolves.toEqual(await readAsJSON('fr.json')); |
| 771 | + }); |
| 772 | + |
| 773 | + test('for fr_FR', async () => { |
| 774 | + await expect( |
| 775 | + readDefaultCodeTranslationMessages({ |
| 776 | + locale: 'fr_FR', |
| 777 | + dirPath, |
| 778 | + }), |
| 779 | + ).resolves.toEqual(await readAsJSON('fr_FR.json')); |
| 780 | + }); |
| 781 | + |
| 782 | + test('for en', async () => { |
| 783 | + await expect( |
| 784 | + readDefaultCodeTranslationMessages({ |
| 785 | + locale: 'en', |
| 786 | + dirPath, |
| 787 | + }), |
| 788 | + ).resolves.toEqual(await readAsJSON('en.json')); |
| 789 | + }); |
| 790 | + |
| 791 | + test('for en_US', async () => { |
| 792 | + await expect( |
| 793 | + readDefaultCodeTranslationMessages({ |
| 794 | + locale: 'en_US', |
| 795 | + dirPath, |
| 796 | + }), |
| 797 | + ).resolves.toEqual(await readAsJSON('en.json')); |
| 798 | + }); |
| 799 | + |
| 800 | + test('for en_WHATEVER', async () => { |
| 801 | + await expect( |
| 802 | + readDefaultCodeTranslationMessages({ |
| 803 | + locale: 'en_WHATEVER', |
| 804 | + dirPath, |
| 805 | + }), |
| 806 | + ).resolves.toEqual(await readAsJSON('en.json')); |
| 807 | + }); |
| 808 | +}); |
0 commit comments