summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorHasan Ramezani <hasan.r67@gmail.com>2019-11-27 00:00:56 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-01-28 13:14:23 +0100
commit2633c5341e94083dd802c5961b97b048adbd5940 (patch)
tree881d9823069954a814d3cc6bd09a9b9f0049659b /tests
parente2fab0b6795f12a175ccdb412bb010f9d00c5a91 (diff)
Fixed #22261 -- Fixed resolving namespaced URLs for flatpages.
Diffstat (limited to 'tests')
-rw-r--r--tests/flatpages_tests/absolute_urls.py6
-rw-r--r--tests/flatpages_tests/no_slash_urls.py5
-rw-r--r--tests/flatpages_tests/test_models.py15
-rw-r--r--tests/flatpages_tests/test_sitemaps.py7
4 files changed, 30 insertions, 3 deletions
diff --git a/tests/flatpages_tests/absolute_urls.py b/tests/flatpages_tests/absolute_urls.py
new file mode 100644
index 0000000000..197aa3d6af
--- /dev/null
+++ b/tests/flatpages_tests/absolute_urls.py
@@ -0,0 +1,6 @@
+from django.contrib.flatpages import views
+from django.urls import path
+
+urlpatterns = [
+ path('flatpage/', views.flatpage, {'url': '/hardcoded/'}),
+]
diff --git a/tests/flatpages_tests/no_slash_urls.py b/tests/flatpages_tests/no_slash_urls.py
new file mode 100644
index 0000000000..112e6d1638
--- /dev/null
+++ b/tests/flatpages_tests/no_slash_urls.py
@@ -0,0 +1,5 @@
+from django.urls import include, path
+
+urlpatterns = [
+ path('flatpage', include('django.contrib.flatpages.urls')),
+]
diff --git a/tests/flatpages_tests/test_models.py b/tests/flatpages_tests/test_models.py
index f6a4eec954..4f59c29f6f 100644
--- a/tests/flatpages_tests/test_models.py
+++ b/tests/flatpages_tests/test_models.py
@@ -1,5 +1,5 @@
from django.contrib.flatpages.models import FlatPage
-from django.test import SimpleTestCase
+from django.test import SimpleTestCase, override_settings
from django.test.utils import override_script_prefix
@@ -17,3 +17,16 @@ class FlatpageModelTests(SimpleTestCase):
def test_str(self):
self.assertEqual(str(self.page), '/café/ -- Café!')
+
+ @override_settings(ROOT_URLCONF='flatpages_tests.urls')
+ def test_get_absolute_url_include(self):
+ self.assertEqual(self.page.get_absolute_url(), '/flatpage_root/caf%C3%A9/')
+
+ @override_settings(ROOT_URLCONF='flatpages_tests.no_slash_urls')
+ def test_get_absolute_url_include_no_slash(self):
+ self.assertEqual(self.page.get_absolute_url(), '/flatpagecaf%C3%A9/')
+
+ @override_settings(ROOT_URLCONF='flatpages_tests.absolute_urls')
+ def test_get_absolute_url_with_hardcoded_url(self):
+ fp = FlatPage(title='Test', url='/hardcoded/')
+ self.assertEqual(fp.get_absolute_url(), '/flatpage/')
diff --git a/tests/flatpages_tests/test_sitemaps.py b/tests/flatpages_tests/test_sitemaps.py
index 62522b343e..857dbb86a8 100644
--- a/tests/flatpages_tests/test_sitemaps.py
+++ b/tests/flatpages_tests/test_sitemaps.py
@@ -31,5 +31,8 @@ class FlatpagesSitemapTests(TestCase):
def test_flatpage_sitemap(self):
response = self.client.get('/flatpages/sitemap.xml')
- self.assertIn(b'<url><loc>http://example.com/foo/</loc></url>', response.getvalue())
- self.assertNotIn(b'<url><loc>http://example.com/private-foo/</loc></url>', response.getvalue())
+ self.assertIn(b'<url><loc>http://example.com/flatpage_root/foo/</loc></url>', response.getvalue())
+ self.assertNotIn(
+ b'<url><loc>http://example.com/flatpage_root/private-foo/</loc></url>',
+ response.getvalue(),
+ )