summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuan Goddard <euangoddard@2degreesnetwork.com>2015-05-06 08:51:28 +0100
committerEuan Goddard <euangoddard@2degreesnetwork.com>2015-05-06 08:51:28 +0100
commit367106de80cc7db78f14904de851d59d68aa3d0d (patch)
treec682e2157481245d5cbb981b7aa6ea563cd2cfb3
parentc800617dfd45608df60c9b667381801a1544ff58 (diff)
downloadpython-slugify-367106de80cc7db78f14904de851d59d68aa3d0d.tar.gz
Made test suite more granular
In prep for #14
-rw-r--r--test.py40
1 files changed, 26 insertions, 14 deletions
diff --git a/test.py b/test.py
index 88027ee..765a668 100644
--- a/test.py
+++ b/test.py
@@ -4,22 +4,33 @@ import unittest
from slugify import slugify
-class TestSequenceFunctions(unittest.TestCase):
+class TestSlugification(unittest.TestCase):
- def test_manager(self):
+ def test_extraneous_seperators(self):
txt = "This is a test ---"
r = slugify(txt)
self.assertEqual(r, "this-is-a-test")
+ txt = "___This is a test ---"
+ r = slugify(txt)
+ self.assertEqual(r, "this-is-a-test")
+
+ txt = "___This is a test___"
+ r = slugify(txt)
+ self.assertEqual(r, "this-is-a-test")
+
+ def test_non_word_characters(self):
txt = "This -- is a ## test ---"
r = slugify(txt)
self.assertEqual(r, "this-is-a-test")
+ def test_phonetic_conversion_of_eastern_scripts(self):
txt = '影師嗎'
r = slugify(txt)
self.assertEqual(r, "ying-shi-ma")
+ def test_accented_text(self):
txt = 'C\'est déjà l\'été.'
r = slugify(txt)
self.assertEqual(r, "cest-deja-lete")
@@ -28,14 +39,17 @@ class TestSequenceFunctions(unittest.TestCase):
r = slugify(txt)
self.assertEqual(r, "nin-hao-wo-shi-zhong-guo-ren")
- txt = 'Компьютер'
- r = slugify(txt)
- self.assertEqual(r, "kompiuter")
-
+ def test_accented_text_with_non_word_characters(self):
txt = 'jaja---lol-méméméoo--a'
r = slugify(txt)
self.assertEqual(r, "jaja-lol-mememeoo-a")
+ def test_cyrillic_text(self):
+ txt = 'Компьютер'
+ r = slugify(txt)
+ self.assertEqual(r, "kompiuter")
+
+ def test_max_length(self):
txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=9)
self.assertEqual(r, "jaja-lol")
@@ -44,10 +58,12 @@ class TestSequenceFunctions(unittest.TestCase):
r = slugify(txt, max_length=15)
self.assertEqual(r, "jaja-lol-mememe")
+ def test_max_length_cutoff_not_required(self):
txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=50)
self.assertEqual(r, "jaja-lol-mememeoo-a")
+ def test_word_boundary(self):
txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=15, word_boundary=True)
self.assertEqual(r, "jaja-lol-a")
@@ -64,22 +80,17 @@ class TestSequenceFunctions(unittest.TestCase):
r = slugify(txt, max_length=19, word_boundary=True)
self.assertEqual(r, "jaja-lol-mememeoo-a")
+ def test_custom_separator(self):
txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=20, word_boundary=True, separator=".")
self.assertEqual(r, "jaja.lol.mememeoo.a")
+ def test_multi_character_separator(self):
txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=20, word_boundary=True, separator="ZZZZZZ")
self.assertEqual(r, "jajaZZZZZZlolZZZZZZmememeooZZZZZZa")
- txt = "___This is a test ---"
- r = slugify(txt)
- self.assertEqual(r, "this-is-a-test")
-
- txt = "___This is a test___"
- r = slugify(txt)
- self.assertEqual(r, "this-is-a-test")
-
+ def test_save_order(self):
txt = 'one two three four five'
r = slugify(txt, max_length=13, word_boundary=True, save_order=True)
self.assertEqual(r, "one-two-three")
@@ -96,5 +107,6 @@ class TestSequenceFunctions(unittest.TestCase):
r = slugify(txt, max_length=12, word_boundary=True, save_order=True)
self.assertEqual(r, "one-two")
+
if __name__ == '__main__':
unittest.main()