summaryrefslogtreecommitdiff
path: root/tests/i18n
diff options
context:
space:
mode:
authorAlokik Vijay <alokik.roe@gmail.com>2022-03-28 21:26:20 +0530
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-03-29 10:27:40 +0200
commitbaf9604ed8fed3e6e7ddfaca2d83c377c81399ae (patch)
tree141aee743c3cae65e6e4522859489d3c0da1d4aa /tests/i18n
parent83c803f161044fbfbfcd9a0c94ca93dc131be662 (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.py19
-rw-r--r--tests/i18n/patterns/urls/default.py5
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",
),
]