aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_report.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_report.py')
-rw-r--r--tests/test_report.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/test_report.py b/tests/test_report.py
index e87956f..9159dc7 100644
--- a/tests/test_report.py
+++ b/tests/test_report.py
@@ -640,6 +640,32 @@ class TextPart(unittest.TestCase):
self.assertLessEqual(len(line), 72, line)
self.assertIn(long_subject, report.unwrap(text))
+ def test_an_identity_missing_a_name_or_org_still_builds(self):
+ """Each [reporter] key is individually skippable.
+
+ config drops a skipped one rather than storing "", so a partial
+ identity is the normal shape here, not a malformed one. Subscripting
+ it raised KeyError on a case that had parsed perfectly.
+ """
+ destination = report.email_destinations(MANIFEST["contacts"])[0]
+
+ text = report.text_part(MANIFEST, destination,
+ {"email": "reporter@example.org"})
+ self.assertIn("Reported by: <reporter@example.org>", text)
+ self.assertNotIn(",", report.unwrap(text).split("Reported by:")[1]
+ .splitlines()[0])
+
+ text = report.text_part(MANIFEST, destination,
+ {"name": "A Reporter",
+ "email": "reporter@example.org"})
+ self.assertIn("Reported by: A Reporter <reporter@example.org>", text)
+
+ text = report.text_part(MANIFEST, destination,
+ {"org": "Example Consulting",
+ "email": "reporter@example.org"})
+ self.assertIn("Reported by: Example Consulting "
+ "<reporter@example.org>", text)
+
def test_a_long_reporter_identity_is_not_truncated(self):
"""The identity is the one thing disclosed deliberately.