def test_names_data(self): """ Default version of Language.names_data should contain more attributes """ result = Language.names_data() self.assertEqual(len(result), 1) self.assertIn("alt", result[0]) self.assertIn("ld", result[0]) self.assertIn("gw", result[0]) self.assertIn("cc", result[0])
def test_additionallanguage_direction(self): additional = AdditionalLanguage.objects.create(ietf_tag="zzz-r-test", common_name="ZRTest", direction="r") additional.save() langnames = Language.names_text().split("\n") self.assertTrue("zzz-r-test\tZRTest" in langnames) data = json.loads(json.dumps(Language.names_data())) langs = {x["lc"]: x for x in data} self.assertTrue("zzz-r-test" in langs) self.assertEquals(langs["zzz-r-test"]["ld"], "rtl")
def test_additionallanguage_direction(self): additional = AdditionalLanguage.objects.create( ietf_tag="zzz-r-test", common_name="ZRTest", direction="r" ) additional.save() langnames = Language.names_text().split("\n") self.assertTrue("zzz-r-test\tZRTest" in langnames) data = json.loads(json.dumps(Language.names_data())) langs = {x["lc"]: x for x in data} self.assertTrue("zzz-r-test" in langs) self.assertEquals(langs["zzz-r-test"]["ld"], "rtl")
def test_names_data_short(self): """ Only specified attributes should be returned by names_data (short version) """ result = Language.names_data(short=True) self.assertEqual(len(result), 1) self.assertIn("pk", result[0]) self.assertIn("lc", result[0]) self.assertIn("ln", result[0]) self.assertIn("ang", result[0]) self.assertIn("lr", result[0]) self.assertNotIn("alt", result[0]) self.assertNotIn("ld", result[0]) self.assertNotIn("gw", result[0]) self.assertEqual(result[0].get("lc"), "tl") self.assertEqual(result[0].get("ln"), "Test Language")
def test_names_data(self): """ Default version of Language.names_data should contain more attributes """ result = Language.names_data() self.assertEqual(len(result), 1) self.assertIn("pk", result[0]) self.assertIn("lc", result[0]) self.assertIn("ln", result[0]) self.assertIn("ang", result[0]) self.assertIn("lr", result[0]) self.assertIn("hc", result[0]) self.assertIn("alt", result[0]) self.assertIn("ld", result[0]) self.assertIn("gw", result[0]) self.assertIn("cc", result[0])
def test_names_data_short(self): """ Only specified attributes should be returned by names_data (short version) """ result = Language.names_data(short=True) self.assertEqual(len(result), 1) self.assertIn("pk", result[0]) self.assertIn("lc", result[0]) self.assertIn("ln", result[0]) self.assertIn("ang", result[0]) self.assertIn("lr", result[0]) self.assertIn("hc", result[0]) self.assertNotIn("alt", result[0]) self.assertNotIn("ld", result[0]) self.assertNotIn("gw", result[0]) self.assertNotIn("cc", result[0]) self.assertEqual(result[0].get("lc"), "tl") self.assertEqual(result[0].get("ln"), "Test Language")
def test_names_json_export(self): data = json.loads(json.dumps(Language.names_data())) langs = {x["lc"]: x for x in data} # self.assertFalse("bmy" in langs) self.assertTrue("aa" in langs) self.assertEquals(langs["aa"]["cc"], ["ET"]) self.assertEquals(langs["aa"]["ln"], "Afaraf") self.assertEquals(langs["aa"]["lr"], "Africa") self.assertEquals(langs["aa"]["ld"], "ltr") self.assertTrue("kmg" in langs) self.assertEquals(langs["kmg"]["cc"], ["PG"]) self.assertEquals(langs["kmg"]["ln"], u"K\xe2te") self.assertEquals(langs["kmg"]["lr"], "Pacific") self.assertEquals(langs["kmg"]["ld"], "ltr") self.assertTrue("es-419" in langs) self.assertEquals(langs["es-419"]["cc"], []) self.assertEquals(langs["es-419"]["ln"], u"Espa\xf1ol Latin America") self.assertEquals(langs["es-419"]["lr"], "") self.assertEquals(langs["es-419"]["ld"], "ltr")
def handle_languages_integrated(sender, **kwargs): cache.delete("langnames") cache.set("langnames", Language.names_data(), None)