diff options
| author | Alokik Vijay <alokik.roe@gmail.com> | 2022-03-28 21:26:20 +0530 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-03-29 10:27:40 +0200 |
| commit | baf9604ed8fed3e6e7ddfaca2d83c377c81399ae (patch) | |
| tree | 141aee743c3cae65e6e4522859489d3c0da1d4aa /tests/i18n | |
| parent | 83c803f161044fbfbfcd9a0c94ca93dc131be662 (diff) | |
Fixed #16406 -- Added ResolveMatch.captured_kwargs and extra_kwargs.
Thanks Florian Apolloner for the review and implementation idea.
Diffstat (limited to 'tests/i18n')
| -rw-r--r-- | tests/i18n/patterns/tests.py | 19 | ||||
| -rw-r--r-- | tests/i18n/patterns/urls/default.py | 5 |
2 files changed, 22 insertions, 2 deletions
diff --git a/tests/i18n/patterns/tests.py b/tests/i18n/patterns/tests.py index db04e9a1a4..43d95ff668 100644 --- a/tests/i18n/patterns/tests.py +++ b/tests/i18n/patterns/tests.py @@ -8,7 +8,7 @@ from django.template import Context, Template from django.test import SimpleTestCase, override_settings from django.test.client import RequestFactory from django.test.utils import override_script_prefix -from django.urls import clear_url_caches, reverse, translate_url +from django.urls import clear_url_caches, resolve, reverse, translate_url from django.utils import translation @@ -198,6 +198,23 @@ class URLTranslationTests(URLTestCaseBase): self.assertEqual(translate_url("/nl/gebruikers/", "en"), "/en/users/") self.assertEqual(translation.get_language(), "nl") + def test_reverse_translated_with_captured_kwargs(self): + with translation.override("en"): + match = resolve("/translated/apo/") + # Links to the same page in other languages. + tests = [ + ("nl", "/vertaald/apo/"), + ("pt-br", "/traduzidos/apo/"), + ] + for lang, expected_link in tests: + with translation.override(lang): + self.assertEqual( + reverse( + match.url_name, args=match.args, kwargs=match.captured_kwargs + ), + expected_link, + ) + class URLNamespaceTests(URLTestCaseBase): """ diff --git a/tests/i18n/patterns/urls/default.py b/tests/i18n/patterns/urls/default.py index c77bf98c73..418e9f5685 100644 --- a/tests/i18n/patterns/urls/default.py +++ b/tests/i18n/patterns/urls/default.py @@ -10,7 +10,10 @@ urlpatterns = [ path("not-prefixed-include/", include("i18n.patterns.urls.included")), re_path(_(r"^translated/$"), view, name="no-prefix-translated"), re_path( - _(r"^translated/(?P<slug>[\w-]+)/$"), view, name="no-prefix-translated-slug" + _(r"^translated/(?P<slug>[\w-]+)/$"), + view, + {"slug": "default-slug"}, + name="no-prefix-translated-slug", ), ] |
