def test_grandfathered(self): p = parser._parse_code('i-klingon') self.assertEqual(p['grandfathered']['tag'], 'i-klingon') self.assertEqual(p['grandfathered']['description'][0], 'Klingon') self.assertNil(p, ['language', 'extlang', 'script', 'region', 'variants', 'extensions']) p = parser._parse_code('i-navajo') self.assertEqual(p['grandfathered']['tag'], 'i-navajo') self.assertEqual(p['grandfathered']['description'][0], 'Navajo') self.assertNil(p, ['language', 'extlang', 'script', 'region', 'variants', 'extensions']) p = parser._parse_code('art-lojban') self.assertEqual(p['grandfathered']['tag'], 'art-lojban') self.assertEqual(p['grandfathered']['description'][0], 'Lojban') self.assertNil(p, ['language', 'extlang', 'script', 'region', 'variants', 'extensions'])
def test_language_extlang(self): p = parser._parse_code('zh-cmn-Hans-CN') self.assertTagDesc(p['language'], 'zh', 'Chinese') self.assertTagDesc(p['extlang'], 'cmn', 'Mandarin Chinese') self.assertTagDesc(p['script'], 'hans', 'Han (Simplified variant)') self.assertTagDesc(p['region'], 'cn', 'China') self.assertNil(p, ['variants', 'extensions', 'grandfathered']) p = parser._parse_code('zh-yue-HK') self.assertTagDesc(p['language'], 'zh', 'Chinese') self.assertTagDesc(p['extlang'], 'yue', 'Yue Chinese') self.assertTagDesc(p['region'], 'hk', 'Hong Kong') self.assertNil(p, ['script', 'variants', 'extensions', 'grandfathered']) p = parser._parse_code('sgn-ase') self.assertTagDesc(p['language'], 'sgn', 'Sign languages') self.assertTagDesc(p['extlang'], 'ase', 'American Sign Language') self.assertNil(p, ['script', 'region', 'variants', 'extensions', 'grandfathered']) self.assertMalformed('zh-invalid-Hans-CN') self.assertMalformed('zh-cmn-invalid-CN') self.assertMalformed('zh-cmn-Hans-invalid')