summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastian Venthur <venthur@debian.org>2021-09-27 21:16:11 +0200
committerJustin Mayer <entroP@gmail.com>2021-09-28 12:55:47 +0200
commit1ab5258243a012cb372ea4c0772b13a288a127df (patch)
tree82b03a0c1cd9a40967c2c5f4e4db675056ef6b94
parentbfe94997048d72d289835c9df236387e9a48fd5f (diff)
downloadfeedgenerator-1ab5258243a012cb372ea4c0772b13a288a127df.tar.gz
Check for truthiness so empty strings are also false
-rw-r--r--feedgenerator/django/utils/feedgenerator.py4
-rw-r--r--tests_feedgenerator/test_feedgenerator.py35
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",