Author: aaugustin
Date: 2011-10-23 08:19:09 -0700 (Sun, 23 Oct 2011)
New Revision: 17029

Modified:
   django/trunk/django/utils/feedgenerator.py
   django/trunk/tests/regressiontests/utils/feedgenerator.py
Log:
Fixed #14202 -- made the atom:link element optional in feeds.


Modified: django/trunk/django/utils/feedgenerator.py
===================================================================
--- django/trunk/django/utils/feedgenerator.py  2011-10-23 03:43:43 UTC (rev 
17028)
+++ django/trunk/django/utils/feedgenerator.py  2011-10-23 15:19:09 UTC (rev 
17029)
@@ -224,7 +224,9 @@
         handler.addQuickElement(u"title", self.feed['title'])
         handler.addQuickElement(u"link", self.feed['link'])
         handler.addQuickElement(u"description", self.feed['description'])
-        handler.addQuickElement(u"atom:link", None, {u"rel": u"self", u"href": 
self.feed['feed_url']})
+        if self.feed['feed_url'] is not None:
+            handler.addQuickElement(u"atom:link", None,
+                    {u"rel": u"self", u"href": self.feed['feed_url']})
         if self.feed['language'] is not None:
             handler.addQuickElement(u"language", self.feed['language'])
         for cat in self.feed['categories']:

Modified: django/trunk/tests/regressiontests/utils/feedgenerator.py
===================================================================
--- django/trunk/tests/regressiontests/utils/feedgenerator.py   2011-10-23 
03:43:43 UTC (rev 17028)
+++ django/trunk/tests/regressiontests/utils/feedgenerator.py   2011-10-23 
15:19:09 UTC (rev 17029)
@@ -87,3 +87,16 @@
             atom_feed.mime_type, "application/atom+xml; charset=utf-8"
         )
 
+    # Two regression tests for #14202
+
+    def test_feed_without_feed_url_gets_rendered_without_atom_link(self):
+        feed = feedgenerator.Rss201rev2Feed('title', '/link/', 'descr')
+        self.assertEquals(feed.feed['feed_url'], None)
+        feed_content = feed.writeString('utf-8')
+        self.assertNotIn('<atom:link href=', feed_content)
+
+    def test_feed_with_feed_url_gets_rendered_with_atom_link(self):
+        feed = feedgenerator.Rss201rev2Feed('title', '/link/', 'descr', 
feed_url='/feed/')
+        self.assertEquals(feed.feed['feed_url'], '/feed/')
+        feed_content = feed.writeString('utf-8')
+        self.assertIn('<atom:link href="/feed/" rel="self"></atom:link>', 
feed_content)

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to