@@ -157,6 +157,39 @@ def test_intword_i18n(locale: str, number: int, expected_result: str) -> None:
157157 humanize .i18n .deactivate ()
158158
159159
160+ @pytest .mark .parametrize (
161+ "locale, value, expected_result" ,
162+ [
163+ ("fr_FR" , 1 , "1 octet" ),
164+ ("fr_FR" , 42 , "42 octets" ),
165+ ("fr_FR" , 42_000 , "42.0 Ko" ),
166+ ("fr_FR" , 42_000_000 , "42.0 Mo" ),
167+ ("fr_FR" , 42_000_000_000 , "42.0 Go" ),
168+ ("fr_FR" , - 42_000 , "-42.0 Ko" ),
169+ ],
170+ )
171+ def test_naturalsize_i18n (locale : str , value : float , expected_result : str ) -> None :
172+ try :
173+ humanize .i18n .activate (locale )
174+ except FileNotFoundError :
175+ pytest .skip ("Generate .mo with scripts/generate-translation-binaries.sh" )
176+ else :
177+ assert humanize .naturalsize (value ) == expected_result
178+ finally :
179+ humanize .i18n .deactivate ()
180+
181+
182+ def test_naturalsize_i18n_binary () -> None :
183+ try :
184+ humanize .i18n .activate ("fr_FR" )
185+ except FileNotFoundError :
186+ pytest .skip ("Generate .mo with scripts/generate-translation-binaries.sh" )
187+ else :
188+ assert humanize .naturalsize (3000 , binary = True ) == "2.9 Kio"
189+ finally :
190+ humanize .i18n .deactivate ()
191+
192+
160193@pytest .mark .parametrize (
161194 "locale, expected_result" ,
162195 [
0 commit comments