@@ -46,7 +46,7 @@ describe("Translator", () => {
4646 } ) ;
4747
4848 it ( "should fallback to en_US for unsupported languages" , ( ) => {
49- createMockNavigator ( "zh-CN " ) ;
49+ createMockNavigator ( "sv-SE " ) ;
5050 const translator = new Translator ( ) ;
5151 expect ( translator . translate ( "buttons.next" ) ) . toBe ( "Next" ) ;
5252 } ) ;
@@ -74,15 +74,48 @@ describe("Translator", () => {
7474
7575 it ( "should work with all supported languages" , ( ) => {
7676 const translator = new Translator ( ) ;
77- ( [ "en_US" , "es_ES" , "fr_FR" , "de_DE" , "fa_IR" ] as LanguageCode [ ] ) . forEach (
78- ( code ) => {
79- translator . setLanguage ( code ) ;
80- expect ( typeof translator . translate ( "buttons.next" ) ) . toBe ( "string" ) ;
81- }
82- ) ;
77+ getAvailableLanguages ( ) . forEach ( ( code ) => {
78+ translator . setLanguage ( code ) ;
79+ expect ( typeof translator . translate ( "buttons.next" ) ) . toBe ( "string" ) ;
80+ } ) ;
8381 } ) ;
8482 } ) ;
8583
84+ describe ( "newly added languages" , ( ) => {
85+ it . each ( [
86+ [ "ru_RU" , "Далее" ] ,
87+ [ "zh_CN" , "下一步" ] ,
88+ [ "pt_BR" , "Próximo" ] ,
89+ [ "it_IT" , "Avanti" ] ,
90+ [ "ja_JP" , "次へ" ] ,
91+ [ "tr_TR" , "İleri" ] ,
92+ [ "ko_KR" , "다음" ] ,
93+ ] ) ( "translates buttons.next for %s" , ( code , expected ) => {
94+ const translator = new Translator ( code as LanguageCode ) ;
95+ expect ( translator . translate ( "buttons.next" ) ) . toBe ( expected ) ;
96+ } ) ;
97+
98+ it . each ( [ "ru_RU" , "zh_CN" , "pt_BR" , "it_IT" , "ja_JP" , "tr_TR" , "ko_KR" ] ) (
99+ "has non-empty translations for every key in %s" ,
100+ ( code ) => {
101+ const translator = new Translator ( code as LanguageCode ) ;
102+ [
103+ "buttons.next" ,
104+ "buttons.prev" ,
105+ "buttons.skip" ,
106+ "buttons.done" ,
107+ "buttons.gotIt" ,
108+ "messages.dontShowAgainLabel" ,
109+ "messages.stepNumbersOfLabel" ,
110+ ] . forEach ( ( key ) => {
111+ const translated = translator . translate ( key ) ;
112+ expect ( translated ) . not . toBe ( key ) ;
113+ expect ( translated . length ) . toBeGreaterThan ( 0 ) ;
114+ } ) ;
115+ }
116+ ) ;
117+ } ) ;
118+
86119 describe ( "translate" , ( ) => {
87120 let translator : Translator ;
88121
0 commit comments