From 2e9a8801d050c1e441ce4632ce8c6adb9eb51f40 Mon Sep 17 00:00:00 2001 From: Jacob Kaplan-Moss Date: Wed, 27 Aug 2008 19:52:27 +0000 Subject: [PATCH] Added a test to ensure that strings in RSS are properly escaped. Refs #6533. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8632 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- .../syndication/fixtures/feeddata.json | 8 ++++++++ tests/regressiontests/syndication/tests.py | 12 +++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/tests/regressiontests/syndication/fixtures/feeddata.json b/tests/regressiontests/syndication/fixtures/feeddata.json index de752f66bf..375ee16c41 100644 --- a/tests/regressiontests/syndication/fixtures/feeddata.json +++ b/tests/regressiontests/syndication/fixtures/feeddata.json @@ -22,5 +22,13 @@ "title": "My third entry", "date": "2008-01-02 13:30:00" } + }, + { + "model": "syndication.entry", + "pk": 4, + "fields": { + "title": "A & B < C > D", + "date": "2008-01-03 13:30:00" + } } ] \ No newline at end of file diff --git a/tests/regressiontests/syndication/tests.py b/tests/regressiontests/syndication/tests.py index caf5e4f04d..1410ed7517 100644 --- a/tests/regressiontests/syndication/tests.py +++ b/tests/regressiontests/syndication/tests.py @@ -81,4 +81,14 @@ class SyndicationFeedTest(TestCase): response = self.client.get('/syndication/feeds/complex/') self.assertEquals(response.status_code, 404) - + def test_title_escaping(self): + """ + Tests that titles are escaped correctly in RSS feeds. + """ + response = self.client.get('/syndication/feeds/rss/') + doc = minidom.parseString(response.content) + for item in doc.getElementsByTagName('item'): + link = item.getElementsByTagName('link')[0] + if link.firstChild.wholeText == 'http://example.com/blog/4/': + title = item.getElementsByTagName('title')[0] + self.assertEquals(title.firstChild.wholeText, u'A & B < C > D') \ No newline at end of file