]> git.ipfire.org Git - thirdparty/patchwork.git/commitdiff
tests: Fix escaping in bundle tests on Django 3.0
authorAndrew Donnellan <ajd@linux.ibm.com>
Wed, 8 Apr 2020 21:52:26 +0000 (22:52 +0100)
committerStephen Finucane <stephen@that.guru>
Wed, 8 Apr 2020 22:35:02 +0000 (23:35 +0100)
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 '&#39;' is now '&#x27;'.

Fix this by using the escape function so we get consistent escaping no
matter which Django version.

Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
Reviewed-by: Stephen Finucane <stephen@that.guru>
patchwork/tests/test_bundles.py

index 63f943c033d642224fc71f1d4c3e68b34d692e8a..6a744093df8e96f800d78d0925361508fe90a149 100644 (file)
@@ -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 &#39;%s&#39; 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 &#39;%s&#39; already in bundle'
-                            % patch.name, count=1, status_code=200)
-        self.assertContains(response, 'Patch &#39;%s&#39; 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())