diff --git a/buzz/www/event/index.py b/buzz/www/event/index.py index 5fed963d..4d450dc2 100644 --- a/buzz/www/event/index.py +++ b/buzz/www/event/index.py @@ -49,7 +49,8 @@ def format_day(date) -> str: def join_parts(parts: list, separator: str) -> str: - return separator.join([part for part in parts if part]) + stripped_parts = [part.strip() for part in parts if part] + return separator.join([part for part in stripped_parts if part]) def format_time_range(start, end) -> str: diff --git a/buzz/www/event/test_event.py b/buzz/www/event/test_event.py index 1d4ad569..71d0aec8 100644 --- a/buzz/www/event/test_event.py +++ b/buzz/www/event/test_event.py @@ -12,7 +12,7 @@ SpeakerProfileFactory, UserFactory, ) -from buzz.www.event.index import EventPage +from buzz.www.event.index import EventPage, join_parts class TestEventPage(IntegrationTestCase): @@ -75,6 +75,10 @@ def test_schedule_talk_shows_title_and_speakers(self): self.assertEqual((row["title"], row["speakers"]), ("Scaling apps", "Asha Rao")) self.assertEqual(context["speakers"][0]["name"], "Asha Rao") + def test_join_parts_strips_spaces_around_each_part(self): + self.assertEqual(join_parts(["Engineer ", " Frappe"], ", "), "Engineer, Frappe") + self.assertEqual(join_parts([" ", "Frappe"], ", "), "Frappe") + def test_time_zone_falls_back_to_system(self): self.set_event({"time_zone": "", "time_zone_label": ""}) self.assertTrue(EventPage(self.route).timezone_label)