Skip to content

Commit bbb43e2

Browse files
committed
bootstrap3: teach add_css_class to prepend classes
Also update tests
1 parent 01ca74b commit bbb43e2

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

bootstrap3/html.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,16 @@ def split_css_classes(css_classes):
1717
return [c for c in classes_list if c]
1818

1919

20-
def add_css_class(css_classes, css_class):
20+
def add_css_class(css_classes, css_class, prepend=False):
2121
"""
2222
Add a CSS class to a string of CSS classes
2323
"""
2424
classes_list = split_css_classes(css_classes)
25-
for c in split_css_classes(css_class):
26-
if c not in classes_list:
27-
classes_list.append(c)
25+
classes_to_add = [c for c in split_css_classes(css_class) if c not in classes_list]
26+
if prepend:
27+
classes_list = classes_to_add + classes_list
28+
else:
29+
classes_list += classes_to_add
2830
return ' '.join(classes_list)
2931

3032

bootstrap3/tests.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,10 @@ def __str__(self):
310310

311311
class HtmlTest(TestCase):
312312
def test_add_css_class(self):
313-
css_classes = "hey hi"
314-
css_class = "there"
313+
css_classes = "one two"
314+
css_class = "three four"
315315
classes = add_css_class(css_classes, css_class)
316-
self.assertEqual(classes, "hey hi there")
316+
self.assertEqual(classes, "one two three four")
317+
318+
classes = add_css_class(css_classes, css_class, prepend=True)
319+
self.assertEqual(classes, "three four one two")

0 commit comments

Comments
 (0)