@@ -272,3 +272,105 @@ def test_lang_details_inequality(query_left: str, query_right: str):
272
272
273
273
def test_lang_details_inequality_objects ():
274
274
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