def test_differently_cased_stopword_match(self): print 'testing differently_cased_stopword_match' txt = 'Foo A FOO B foo C' r = slugify(txt, stopwords=['foo']) self.assertEqual(r, 'a-b-c') txt = 'Foo A FOO B foo C' r = slugify(txt, stopwords=['FOO']) self.assertEqual(r, 'a-b-c')
def test_max_length(self): print 'testing max_length' txt = 'jaja---lol-méméméoo--a' r = slugify(txt, max_length=9) self.assertEqual(r, "jaja-lol") txt = 'jaja---lol-méméméoo--a' r = slugify(txt, max_length=15) self.assertEqual(r, "jaja-lol-mememe")
def test_extraneous_seperators(self): print 'testing extraneous_seperators' 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_accented_text(self): print 'testing accented_text' txt = 'C\'est déjà l\'été.' r = slugify(txt) self.assertEqual(r, "c-est-deja-l-ete") txt = 'Nín hǎo. Wǒ shì zhōng guó rén' r = slugify(txt) self.assertEqual(r, "nin-hao-wo-shi-zhong-guo-ren") txt = 'aàáâäãåāǎæ' r = slugify(txt) self.assertEqual(r, "aaaaaaaaaae")
def test_word_boundary(self): print 'testing word_boundary' txt = 'jaja---lol-méméméoo--a' r = slugify(txt, max_length=15, word_boundary=True) self.assertEqual(r, "jaja-lol-a") txt = 'jaja---lol-méméméoo--a' r = slugify(txt, max_length=17, word_boundary=True) self.assertEqual(r, "jaja-lol-mememeoo") txt = 'jaja---lol-méméméoo--a' r = slugify(txt, max_length=18, word_boundary=True) self.assertEqual(r, "jaja-lol-mememeoo") txt = 'jaja---lol-méméméoo--a' r = slugify(txt, max_length=19, word_boundary=True) self.assertEqual(r, "jaja-lol-mememeoo-a")
def test_save_order(self): print 'testing save_order' txt = 'one two three four five' r = slugify(txt, max_length=13, word_boundary=True, save_order=True) self.assertEqual(r, "one-two-three") txt = 'one two three four five' r = slugify(txt, max_length=13, word_boundary=True, save_order=False) self.assertEqual(r, "one-two-three") txt = 'one two three four five' r = slugify(txt, max_length=12, word_boundary=True, save_order=False) self.assertEqual(r, "one-two-four") txt = 'one two three four five' r = slugify(txt, max_length=12, word_boundary=True, save_order=True) self.assertEqual(r, "one-two")
def test_contains_numbers(self): print 'testing contains_numbers' txt = 'buildings with 1000 windows' r = slugify(txt) self.assertEqual(r, 'buildings-with-1000-windows')
def test_cyrillic_text(self): print 'testing cyrillic_text' txt = 'Компьютер' r = slugify(txt) self.assertEqual(r, "kompiuter")
def test_accented_text_with_non_word_characters(self): print 'testing accented_text_with_non_word_characters' txt = 'jaja---lol-méméméoo--a' r = slugify(txt) self.assertEqual(r, "jaja-lol-mememeoo-a")
def test_stopword_removal(self): print 'testing stopword_removal' txt = 'this has a stopword' r = slugify(txt, stopwords=['stopword']) self.assertEqual(r, 'this-has-a')
def test_phonetic_conversion_of_eastern_scripts(self): print 'testing phonetic_conversion_of_eastern_scripts' txt = '影師嗎' r = slugify(txt) self.assertEqual(r, "ying-shi-ma")
def test_non_word_characters(self): print 'testing non_word_characters' txt = "This -- is a ## test ---" r = slugify(txt) self.assertEqual(r, "this-is-a-test")
def test_numbers_and_symbols(self): print 'testing numbers_and_symbols' txt = '1,000 reasons you are #1' r = slugify(txt) self.assertEqual(r, '1000-reasons-you-are-1')
def test_multiple_stopword_occurances(self): print 'testing multiple_stopword_occurances' txt = 'the quick brown fox jumps over the lazy dog' r = slugify(txt, stopwords=['the']) self.assertEqual(r, 'quick-brown-fox-jumps-over-lazy-dog')
def test_max_length_cutoff_not_required(self): print 'testing max_length_cutoff_not_required' txt = 'jaja---lol-méméméoo--a' r = slugify(txt, max_length=50) self.assertEqual(r, "jaja-lol-mememeoo-a")
def test_starts_with_number(self): print 'testing starts_with_number' txt = '10 amazing secrets' r = slugify(txt) self.assertEqual(r, '10-amazing-secrets')
def test_html_entities(self): print 'testing html_entities' txt = 'foo & bar' r = slugify(txt) self.assertEqual(r, 'foo-bar')
def test_stopwords_with_different_separator(self): print 'testing stopwords_with_different_separator' txt = 'the quick brown fox jumps over the lazy dog' r = slugify(txt, stopwords=['the'], separator=' ') self.assertEqual(r, 'quick brown fox jumps over lazy dog')
def test_multiple_stopwords(self): print 'testing multiple_stopwords' txt = 'the quick brown fox jumps over the lazy dog in a hurry' r = slugify(txt, stopwords=['the', 'in', 'a', 'hurry']) self.assertEqual(r, 'quick-brown-fox-jumps-over-lazy-dog')
def test_ends_with_number(self): print 'testing ends_with_number' txt = 'recipe number 3' r = slugify(txt) self.assertEqual(r, 'recipe-number-3')
def test_numbers_only(self): print 'testing numbers_only' txt = '404' r = slugify(txt) self.assertEqual(r, '404')
def test_custom_separator(self): print 'testing custom_separator' 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): print 'testing multi_character_separator' txt = 'jaja---lol-méméméoo--a' r = slugify(txt, max_length=20, word_boundary=True, separator="ZZZZZZ") self.assertEqual(r, "jajaZZZZZZlolZZZZZZmememeooZZZZZZa")