diff options
| author | antoliny0919 <antoliny0919@gmail.com> | 2024-12-25 11:35:27 +0900 |
|---|---|---|
| committer | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2025-01-10 12:57:53 +0100 |
| commit | 97ee8b82c2c99bf352df5359bb24a42ea78585b8 (patch) | |
| tree | cf714ede8d5d8ec504b276bdf7c88114a5324c0f /tests | |
| parent | 585160586336f3bcd7b694f53cf10db73c56981c (diff) | |
Fixed #36032 -- Rendered URLField values as links in the admin.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/admin_changelist/admin.py | 4 | ||||
| -rw-r--r-- | tests/admin_changelist/models.py | 1 | ||||
| -rw-r--r-- | tests/admin_changelist/tests.py | 11 | ||||
| -rw-r--r-- | tests/admin_utils/tests.py | 9 |
4 files changed, 22 insertions, 3 deletions
diff --git a/tests/admin_changelist/admin.py b/tests/admin_changelist/admin.py index 701d60cd05..910cd90d9e 100644 --- a/tests/admin_changelist/admin.py +++ b/tests/admin_changelist/admin.py @@ -158,8 +158,8 @@ site.register(Parent, NoListDisplayLinksParentAdmin) class ListDisplayLinksGenreAdmin(admin.ModelAdmin): - list_display = ["name", "file"] - list_display_links = ["file"] + list_display = ["name", "file", "url"] + list_display_links = ["file", "url"] site.register(Genre, ListDisplayLinksGenreAdmin) diff --git a/tests/admin_changelist/models.py b/tests/admin_changelist/models.py index 6b2fba4ced..a84c27a066 100644 --- a/tests/admin_changelist/models.py +++ b/tests/admin_changelist/models.py @@ -33,6 +33,7 @@ class GrandChild(models.Model): class Genre(models.Model): name = models.CharField(max_length=20) file = models.FileField(upload_to="documents/", blank=True, null=True) + url = models.URLField(blank=True, null=True) class Band(models.Model): diff --git a/tests/admin_changelist/tests.py b/tests/admin_changelist/tests.py index f682ac60bb..8e4557c7c5 100644 --- a/tests/admin_changelist/tests.py +++ b/tests/admin_changelist/tests.py @@ -1059,13 +1059,22 @@ class ChangeListTests(TestCase): def test_link_field_display_links(self): self.client.force_login(self.superuser) - g = Genre.objects.create(name="Blues", file="documents/blues_history.txt") + g = Genre.objects.create( + name="Blues", + file="documents/blues_history.txt", + url="http://blues_history.com", + ) response = self.client.get(reverse("admin:admin_changelist_genre_changelist")) self.assertContains( response, '<a href="/admin/admin_changelist/genre/%s/change/">' "documents/blues_history.txt</a>" % g.pk, ) + self.assertContains( + response, + '<a href="/admin/admin_changelist/genre/%s/change/">' + "http://blues_history.com</a>" % g.pk, + ) def test_clear_all_filters_link(self): self.client.force_login(self.superuser) diff --git a/tests/admin_utils/tests.py b/tests/admin_utils/tests.py index 56d46324e0..77d6655290 100644 --- a/tests/admin_utils/tests.py +++ b/tests/admin_utils/tests.py @@ -157,6 +157,7 @@ class UtilsTests(SimpleTestCase): models.DateField(), models.DecimalField(), models.FloatField(), + models.URLField(), models.JSONField(), models.TimeField(), ] @@ -196,6 +197,14 @@ class UtilsTests(SimpleTestCase): display_value, ) + def test_url_display_for_field(self): + model_field = models.URLField() + display_value = display_for_field( + "http://example.com", model_field, self.empty_value + ) + expected = '<a href="http://example.com">http://example.com</a>' + self.assertHTMLEqual(display_value, expected) + def test_number_formats_display_for_field(self): display_value = display_for_field( 12345.6789, models.FloatField(), self.empty_value |
