From e2471e523149d582c25a842947cf58fa6fd88703 Mon Sep 17 00:00:00 2001 From: Andrew Donnellan Date: Wed, 8 Apr 2020 22:52:26 +0100 Subject: tests: Fix escaping in bundle tests on Django 3.0 Django 3.0 switches to using Python 3's built-in HTML escaper, which prefers to escape entities using hex rather than decimal. Some of our tests check rendered HTML output against pre-escaped strings, and fail because ''' is now '''. Fix this by using the escape function so we get consistent escaping no matter which Django version. Signed-off-by: Andrew Donnellan Reviewed-by: Stephen Finucane --- patchwork/tests/test_bundles.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/patchwork/tests/test_bundles.py b/patchwork/tests/test_bundles.py index 63f943c..6a74409 100644 --- a/patchwork/tests/test_bundles.py +++ b/patchwork/tests/test_bundles.py @@ -10,6 +10,7 @@ import unittest from django.conf import settings from django.test import TestCase from django.urls import reverse +from django.utils.html import escape from django.utils.http import urlencode from patchwork.models import Bundle @@ -548,8 +549,8 @@ class BundleAddFromListTest(BundleTestBase): 'project_id': self.project.linkname}), params) - self.assertContains(response, 'Patch '%s' already in bundle' - % patch.name, count=1, status_code=200) + expected = escape(f"Patch '{patch.name}' already in bundle") + self.assertContains(response, expected, count=1, status_code=200) self.assertEqual(count, self.bundle.patches.count()) @@ -570,11 +571,12 @@ class BundleAddFromListTest(BundleTestBase): 'project_id': self.project.linkname}), params) - self.assertContains(response, 'Patch '%s' already in bundle' - % patch.name, count=1, status_code=200) - self.assertContains(response, 'Patch '%s' added to bundle' - % self.patches[1].name, count=1, - status_code=200) + for expected in ( + escape(f"Patch '{patch.name}' already in bundle"), + escape(f"Patch '{self.patches[1].name}' added to bundle"), + ): + self.assertContains(response, expected, count=1, status_code=200) + self.assertEqual(count + 1, self.bundle.patches.count()) -- cgit v1.2.3