diff options
author | Bastian Venthur <venthur@debian.org> | 2021-09-27 21:16:11 +0200 |
---|---|---|
committer | Justin Mayer <entroP@gmail.com> | 2021-09-28 12:55:47 +0200 |
commit | 1ab5258243a012cb372ea4c0772b13a288a127df (patch) | |
tree | 82b03a0c1cd9a40967c2c5f4e4db675056ef6b94 | |
parent | bfe94997048d72d289835c9df236387e9a48fd5f (diff) | |
download | feedgenerator-1ab5258243a012cb372ea4c0772b13a288a127df.tar.gz |
Check for truthiness so empty strings are also false
-rw-r--r-- | feedgenerator/django/utils/feedgenerator.py | 4 | ||||
-rw-r--r-- | tests_feedgenerator/test_feedgenerator.py | 35 |
2 files changed, 36 insertions, 3 deletions
diff --git a/feedgenerator/django/utils/feedgenerator.py b/feedgenerator/django/utils/feedgenerator.py index 6631788..03994b6 100644 --- a/feedgenerator/django/utils/feedgenerator.py +++ b/feedgenerator/django/utils/feedgenerator.py @@ -325,9 +325,9 @@ class Atom1Feed(SyndicationFeed): handler.endElement("author") # try to use description or subtitle if provided, subtitle has # precedence above description - if self.feed['subtitle'] is not None: + if self.feed['subtitle']: handler.addQuickElement("subtitle", self.feed['subtitle']) - elif self.feed['description'] is not None: + elif self.feed['description']: handler.addQuickElement("subtitle", self.feed['description']) for cat in self.feed['categories']: handler.addQuickElement("category", "", {"term": cat}) diff --git a/tests_feedgenerator/test_feedgenerator.py b/tests_feedgenerator/test_feedgenerator.py index 7370954..e44eadb 100644 --- a/tests_feedgenerator/test_feedgenerator.py +++ b/tests_feedgenerator/test_feedgenerator.py @@ -110,7 +110,18 @@ class TestFeedGenerator(unittest.TestCase): ) feed = feedgenerator.Atom1Feed(**FIXT_FEED) result = feed.writeString(ENCODING) - assert "<desciption></description>" not in result + assert "<subtitle></subtitle>" not in result + + # case 1.b: neither should be in + FIXT_FEED = dict( + title="title", + link="https://example.com", + description="", + subtitle="", + ) + feed = feedgenerator.Atom1Feed(**FIXT_FEED) + result = feed.writeString(ENCODING) + assert "<subtitle></subtitle>" not in result # case 2: only description should be in FIXT_FEED = dict( @@ -123,6 +134,17 @@ class TestFeedGenerator(unittest.TestCase): result = feed.writeString(ENCODING) assert "<subtitle>description</subtitle>" in result + # case 2.b: only description should be in + FIXT_FEED = dict( + title="title", + link="https://example.com", + description="description", + subtitle="", + ) + feed = feedgenerator.Atom1Feed(**FIXT_FEED) + result = feed.writeString(ENCODING) + assert "<subtitle>description</subtitle>" in result + # case 3: only subtitle should be in FIXT_FEED = dict( title="title", @@ -134,6 +156,17 @@ class TestFeedGenerator(unittest.TestCase): result = feed.writeString(ENCODING) assert "<subtitle>subtitle</subtitle>" in result + # case 3.b: only subtitle should be in + FIXT_FEED = dict( + title="title", + link="https://example.com", + description="", + subtitle="subtitle", + ) + feed = feedgenerator.Atom1Feed(**FIXT_FEED) + result = feed.writeString(ENCODING) + assert "<subtitle>subtitle</subtitle>" in result + # case 4: both are in, only subtitle should be in FIXT_FEED = dict( title="title", |