summaryrefslogtreecommitdiff
path: root/tests/utils_tests
diff options
context:
space:
mode:
authorvarunkasyap <varunkasyap@hotmail.com>2025-11-15 10:36:46 +0530
committerJacob Walls <jacobtylerwalls@gmail.com>2025-11-18 17:16:27 -0500
commitef4715ef695604a417d15390e42c43851ca5d0ff (patch)
tree759441332a8fea0d29331dff188472ef1e71ca50 /tests/utils_tests
parent569f455b589039d1a123d7c27b6e2fd0d2c795df (diff)
[6.0.x] Fixed #36733 -- Escaped attributes in Stylesheet.__str__().
Thanks Mustafa Barakat for the report, Baptiste Mispelon for the triage, and Jake Howard for the review. Backport of e05f2a75695b5f5faa7682d4053db4776d4d6f93 from main.
Diffstat (limited to 'tests/utils_tests')
-rw-r--r--tests/utils_tests/test_feedgenerator.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/tests/utils_tests/test_feedgenerator.py b/tests/utils_tests/test_feedgenerator.py
index 28a1afc96e..65e1faae6c 100644
--- a/tests/utils_tests/test_feedgenerator.py
+++ b/tests/utils_tests/test_feedgenerator.py
@@ -156,6 +156,20 @@ class FeedgeneratorTests(SimpleTestCase):
stylesheet = feedgenerator.Stylesheet(SimpleLazyObject(m))
m.assert_not_called()
self.assertEqual(
- str(stylesheet), 'href="test.css" type="text/css" media="screen"'
+ str(stylesheet), 'href="test.css" media="screen" type="text/css"'
)
m.assert_called_once()
+
+ def test_stylesheet_attribute_escaping(self):
+ style = feedgenerator.Stylesheet(
+ url='http://example.com/style.css?foo="bar"&baz=<>',
+ mimetype='text/css; charset="utf-8"',
+ media='screen and (max-width: "600px")',
+ )
+
+ self.assertEqual(
+ str(style),
+ 'href="http://example.com/style.css?foo=%22bar%22&amp;baz=%3C%3E" '
+ 'media="screen and (max-width: &quot;600px&quot;)" '
+ 'type="text/css; charset=&quot;utf-8&quot;"',
+ )