forked from django-parler/django-parler
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_utils.py
94 lines (84 loc) · 3.03 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.test import TestCase
from parler.utils import get_parler_languages_from_django_cms
from parler.utils.i18n import get_language_title
class UtilTestCase(TestCase):
def test_get_parler_languages_from_django_cms(self):
cms = {
1: [
{
'code': 'en',
'fallbacks': ['es'],
'hide_untranslated': True,
'name': 'English',
'public': True,
'redirect_on_fallback': True
},
{
'code': 'es',
'fallbacks': ['en'],
'hide_untranslated': True,
'name': 'Spanish',
'public': True,
'redirect_on_fallback': True
},
{
'code': 'fr',
'fallbacks': ['en'],
'hide_untranslated': True,
'name': 'French',
'public': True,
'redirect_on_fallback': True
}
],
'default': {
'fallbacks': ['en', ],
'hide_untranslated': True,
'public': True,
'redirect_on_fallback': True
}
}
parler = {
1: [
{
'code': 'en',
'fallbacks': ['es'],
'hide_untranslated': True,
'redirect_on_fallback': True
},
{
'code': 'es',
'fallbacks': ['en'],
'hide_untranslated': True,
'redirect_on_fallback': True
},
{
'code': 'fr',
'fallbacks': ['en'],
'hide_untranslated': True,
'redirect_on_fallback': True
}
],
'default': {
'fallbacks': ['en', ],
'hide_untranslated': True,
'redirect_on_fallback': True
}
}
computed = get_parler_languages_from_django_cms(cms)
for block, block_config in computed.items():
self.assertEqual(computed[block], parler[block])
def test_get_language_title(self):
"""Test get_language_title utility function"""
language_code = 'en'
self.assertEqual(get_language_title(language_code), 'English')
# Test the case where requested language is not in settings.
# We can not override settings, since languages in get_language_title()
# are initialised during import. So, we use fictional language code.
language_code = 'xx'
try:
self.assertEqual(get_language_title(language_code), language_code)
except KeyError:
self.fail(
"get_language_title() raises KeyError for missing language")