@@ -29,6 +29,11 @@ def test_recognizes_slugs(self):
29
29
self .assertTrue (is_slug ('yep.i.am.a.slug' , '.' ))
30
30
self .assertTrue (is_slug ('yep_i_am_a_slug' , '_' ))
31
31
32
+ def test_slug_can_have_multiple_consecutive_separator_signs (self ):
33
+ self .assertTrue (is_slug ('oh-----yeah' ))
34
+ self .assertTrue (is_slug ('oh_____yeah' , '_' ))
35
+ self .assertTrue (is_slug ('1----2' ))
36
+
32
37
def test_slug_cannot_contain_spaces (self ):
33
38
self .assertFalse (is_slug ('not - a - slug' ))
34
39
self .assertFalse (is_slug ('not- a - slug' ))
@@ -37,6 +42,18 @@ def test_slug_cannot_contain_spaces(self):
37
42
self .assertFalse (is_slug ('not-a-slug ' ))
38
43
self .assertFalse (is_slug (' not-a-slug' ))
39
44
45
+ def test_slug_cannot_contain_non_ascii_chars (self ):
46
+ self .assertFalse (is_slug ('foò-bär' ))
47
+
48
+ def test_slug_cannot_contain_punctuation (self ):
49
+ self .assertFalse (is_slug ('foo.-bar' ))
50
+ self .assertFalse (is_slug ('foo-bar.' ))
51
+ self .assertFalse (is_slug ('foo-bar,' ))
52
+ self .assertFalse (is_slug ('!foo-bar' ))
53
+ self .assertFalse (is_slug ('foo-bar?' ))
54
+ self .assertFalse (is_slug ('foo-bar:' ))
55
+ self .assertFalse (is_slug ('foo-bar;' ))
56
+
40
57
def test_exclude_invalid_slugs (self ):
41
58
self .assertFalse (is_slug (' nope' ))
42
59
self .assertFalse (is_slug ('nope ' ))
@@ -46,3 +63,12 @@ def test_exclude_invalid_slugs(self):
46
63
self .assertFalse (is_slug ('-no-no-no-' ))
47
64
self .assertFalse (is_slug ('100%no-slug!' ))
48
65
self .assertFalse (is_slug ('NOT-AS-UPPERCASE' ))
66
+
67
+ def test_slug_can_be_single_word (self ):
68
+ self .assertTrue (is_slug ('hello' ))
69
+ self .assertTrue (is_slug ('x' ))
70
+ self .assertTrue (is_slug ('42' ))
71
+ self .assertTrue (is_slug ('5' ))
72
+
73
+ def test_slug_must_have_at_least_one_non_separator_char (self ):
74
+ self .assertFalse (is_slug ('-' ))
0 commit comments