|
4 | 4 |
|
5 | 5 | from django.core.exceptions import ImproperlyConfigured |
6 | 6 | from django.core.urlresolvers import ( |
7 | | - clear_url_caches, reverse, set_script_prefix, |
| 7 | + clear_url_caches, reverse, set_script_prefix, translate_url, |
8 | 8 | ) |
9 | 9 | from django.http import HttpResponsePermanentRedirect |
10 | 10 | from django.middleware.locale import LocaleMiddleware |
@@ -135,6 +135,18 @@ def test_users_url(self): |
135 | 135 | with translation.override('pt-br'): |
136 | 136 | self.assertEqual(reverse('users'), '/pt-br/usuarios/') |
137 | 137 |
|
| 138 | + def test_translate_url_utility(self): |
| 139 | + with translation.override('en'): |
| 140 | + self.assertEqual(translate_url('/en/non-existent/', 'nl'), '/en/non-existent/') |
| 141 | + self.assertEqual(translate_url('/en/users/', 'nl'), '/nl/gebruikers/') |
| 142 | + # Namespaced URL |
| 143 | + self.assertEqual(translate_url('/en/account/register/', 'nl'), '/nl/profiel/registeren/') |
| 144 | + self.assertEqual(translation.get_language(), 'en') |
| 145 | + |
| 146 | + with translation.override('nl'): |
| 147 | + self.assertEqual(translate_url('/nl/gebruikers/', 'en'), '/en/users/') |
| 148 | + self.assertEqual(translation.get_language(), 'nl') |
| 149 | + |
138 | 150 |
|
139 | 151 | class URLNamespaceTests(URLTestCaseBase): |
140 | 152 | """ |
|
0 commit comments