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