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 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)