@@ -272,3 +272,105 @@ def test_lang_details_inequality(query_left: str, query_right: str):
272272
273273def test_lang_details_inequality_objects ():
274274 assert get_language ("ara" ) != "ara"
275+
276+
277+ @pytest .mark .parametrize (
278+ "query,expected" ,
279+ [
280+ (
281+ "fra" ,
282+ {
283+ "english" : "French (France)" ,
284+ "iso-639-1" : "fr" ,
285+ "iso-639-2b" : "fre" ,
286+ "iso-639-2t" : "fra" ,
287+ "iso-639-3" : "fra" ,
288+ "iso-639-5" : None ,
289+ "iso-types" : [
290+ "part2t" ,
291+ "part3" ,
292+ ],
293+ "native" : "français (France)" ,
294+ "query" : "fra" ,
295+ "querytype" : "purecode" ,
296+ },
297+ ),
298+ (
299+ "zh" ,
300+ {
301+ "english" : "Chinese" ,
302+ "iso-639-1" : "zh" ,
303+ "iso-639-2b" : "chi" ,
304+ "iso-639-2t" : "zho" ,
305+ "iso-639-3" : "zho" ,
306+ "iso-639-5" : None ,
307+ "iso-types" : [
308+ "part1" ,
309+ ],
310+ "native" : "中文" ,
311+ "query" : "zh" ,
312+ "querytype" : "purecode" ,
313+ },
314+ ),
315+ (
316+ "ar" ,
317+ {
318+ "english" : "Arabic" ,
319+ "iso-639-1" : "ar" ,
320+ "iso-639-2b" : "ara" ,
321+ "iso-639-2t" : "ara" ,
322+ "iso-639-3" : "ara" ,
323+ "iso-639-5" : None ,
324+ "iso-types" : [
325+ "part1" ,
326+ ],
327+ "native" : "العربية" ,
328+ "query" : "ar" ,
329+ "querytype" : "purecode" ,
330+ },
331+ ),
332+ ],
333+ )
334+ def test_lang_to_dict (query : str , expected : dict [str , str | None | list [str ]]):
335+ assert Language (query ).todict () == expected
336+
337+
338+ @pytest .mark .parametrize (
339+ "query,expected" ,
340+ [
341+ (
342+ "fra" ,
343+ 'Language(iso_639_1="fr", iso_639_2b="fre", iso_639_2t="fra", '
344+ 'iso_639_3="fra", iso_639_5="None", english="French (France)", '
345+ "iso_types=\" ['part2t', 'part3']\" , native=\" français (France)\" , "
346+ 'querytype="purecode", query="fra")' ,
347+ ),
348+ (
349+ "zh" ,
350+ 'Language(iso_639_1="zh", iso_639_2b="chi", iso_639_2t="zho", '
351+ 'iso_639_3="zho", iso_639_5="None", english="Chinese", '
352+ 'iso_types="[\' part1\' ]", native="中文", querytype="purecode", query="zh")' ,
353+ ),
354+ (
355+ "ar" ,
356+ 'Language(iso_639_1="ar", iso_639_2b="ara", iso_639_2t="ara", '
357+ 'iso_639_3="ara", iso_639_5="None", english="Arabic", '
358+ 'iso_types="[\' part1\' ]", native="العربية", querytype="purecode", '
359+ 'query="ar")' ,
360+ ),
361+ ],
362+ )
363+ def test_lang_repr (query : str , expected : str ):
364+ assert Language (query ).__repr__ () == expected
365+
366+
367+ @pytest .mark .parametrize (
368+ "query,expected" ,
369+ [
370+ ("fra" , "fra: French (France)" ),
371+ ("zh" , "zho: Chinese" ),
372+ ("ar" , "ara: Arabic" ),
373+ ],
374+ )
375+ def test_lang_str (query : str , expected : str ):
376+ assert f"{ Language (query )} " == expected
0 commit comments