| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- # -*- coding: utf-8 -*-
- """
- Unit-tests for pytils.translit
- """
- import unittest
- import pytils
- class TranslitTestCase(unittest.TestCase):
- """
- Test case for pytils.translit
- """
- def ckTransl(self, in_, out_):
- """
- Checks translify
- """
- self.assertEqual(pytils.translit.translify(in_), out_)
- def ckDetransl(self, in_, out_):
- """
- Checks detranslify
- """
- self.assertEqual(pytils.translit.detranslify(in_), out_)
- def ckSlug(self, in_, out_):
- """
- Checks slugify
- """
- self.assertEqual(pytils.translit.slugify(in_), out_)
- def testTransliteration(self):
- """
- Unit-test for transliterations
- """
- self.ckTransl("тест", 'test')
- self.ckTransl("проверка", 'proverka')
- self.ckTransl("транслит", 'translit')
- self.ckTransl("правда ли это", 'pravda li eto')
- self.ckTransl("Щука", 'Schuka')
- def testTransliterationExceptions(self):
- """
- Unit-test for testing translify's exceptions
- """
- self.assertRaises(ValueError, pytils.translit.translify, '\u00bfHabla espa\u00f1ol?')
- def testDetransliteration(self):
- """
- Unit-test for detransliterations
- """
- self.ckDetransl('test', "тест")
- self.ckDetransl('proverka', "проверка")
- self.ckDetransl('translit', "транслит")
- self.ckDetransl('SCHuka', "Щука")
- self.ckDetransl('Schuka', "Щука")
- def testSlug(self):
- """
- Unit-test for slugs
- """
- self.ckSlug("ТеСт", 'test')
- self.ckSlug("Проверка связи", 'proverka-svyazi')
- self.ckSlug("me&you", 'me-and-you')
- self.ckSlug("и еще один тест", 'i-esche-odin-test')
- def testTranslifyAdditionalUnicodeSymbols(self):
- """
- Unit-test for testing additional unicode symbols
- """
- self.ckTransl("«Вот так вот»", '"Vot tak vot"')
- self.ckTransl("‘Или вот так’", "'Ili vot tak'")
- self.ckTransl("– Да…", "- Da...")
- def testSlugifyIssue10(self):
- """
- Unit-test for testing that bug#10 fixed
- """
- self.ckSlug("Проверка связи…", 'proverka-svyazi')
- self.ckSlug("Проверка\x0aсвязи 2", 'proverka-svyazi-2')
- self.ckSlug("Проверка\201связи 3", 'proverkasvyazi-3')
- def testSlugifyIssue15(self):
- """
- Unit-test for testing that bug#15 fixed
- """
- self.ckSlug("World of Warcraft", "world-of-warcraft")
- def testAdditionalDashesAndQuotes(self):
- """
- Unit-test for testing additional dashes (figure and em-dash)
- and quotes
- """
- self.ckSlug("Юнит-тесты — наше всё", 'yunit-testyi---nashe-vsyo')
- self.ckSlug("Юнит-тесты ‒ наше всё", 'yunit-testyi---nashe-vsyo')
- self.ckSlug("95−34", '95-34')
- self.ckTransl("Двигатель “Pratt&Whitney”", 'Dvigatel\' "Pratt&Whitney"')
- if __name__ == '__main__':
- unittest.main()
|