-
Notifications
You must be signed in to change notification settings - Fork 10
/
test_utils.py
53 lines (46 loc) · 2.77 KB
/
test_utils.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
from django.test import TestCase
from django_icons.renderers import Bootstrap3Renderer, FontAwesome4Renderer, ImageRenderer
from django_icons.utils import _get_setting, get_icon_kwargs, get_icon_kwargs_from_settings, get_icon_renderer
class UtilsTest(TestCase):
"""Test the utility functions."""
def test_get_setting(self):
with self.settings(DJANGO_ICONS=None):
self.assertEqual(_get_setting("SECTION", "name"), None)
self.assertEqual(_get_setting("SECTION", "name", "foo"), "foo")
with self.settings(DJANGO_ICONS={"SECTION": {"name": "bar"}}):
self.assertEqual(_get_setting("SECTION", "name"), "bar")
self.assertEqual(_get_setting("SECTION", "name", "foo"), "bar")
def test_get_icon_kwargs_from_settings(self):
with self.settings(DJANGO_ICONS=None):
self.assertEqual(get_icon_kwargs_from_settings("info"), {"name": "info"})
with self.settings(DJANGO_ICONS={"ICONS": {"info": "info-sign"}}):
self.assertEqual(get_icon_kwargs_from_settings("info"), {"name": "info-sign"})
with self.settings(DJANGO_ICONS={"ICONS": {"info": {"name": "info-sign"}}}):
self.assertEqual(get_icon_kwargs_from_settings("info"), {"name": "info-sign"})
with self.settings(DJANGO_ICONS={"ICONS": {"info": {"title": "Information"}}}):
self.assertEqual(
get_icon_kwargs_from_settings("info"),
{"name": "info", "title": "Information"},
)
def test_get_icon_kwargs(self):
with self.settings(DJANGO_ICONS=None):
self.assertEqual(
get_icon_kwargs("info", "size-lg color-red"),
{"name": "info", "extra_classes": ["size-lg", "color-red"]},
)
with self.settings(DJANGO_ICONS={"ICONS": {"info": "info-sign"}}):
self.assertEqual(get_icon_kwargs("info"), {"name": "info-sign"})
with self.settings(DJANGO_ICONS={"ICONS": {"info": {"name": "info-sign"}}}):
self.assertEqual(get_icon_kwargs("info"), {"name": "info-sign"})
with self.settings(DJANGO_ICONS={"ICONS": {"info": {"title": "Information"}}}):
self.assertEqual(get_icon_kwargs("info"), {"name": "info", "title": "Information"})
def test_get_icon_renderer(self):
with self.settings(DJANGO_ICONS=None):
self.assertEqual(get_icon_renderer(), FontAwesome4Renderer)
self.assertEqual(get_icon_renderer("fontawesome4"), FontAwesome4Renderer)
self.assertEqual(get_icon_renderer("bootstrap3"), Bootstrap3Renderer)
self.assertEqual(get_icon_renderer("image"), ImageRenderer)
self.assertEqual(
get_icon_renderer("django_icons.renderers.Bootstrap3Renderer"),
Bootstrap3Renderer,
)