Compare commits

...

2 Commits

Author SHA1 Message Date
Raphael Michel
be4d26cae8 ADjust more tests 2025-10-10 11:38:24 +02:00
Raphael Michel
279becbb8d Stop using ordinal numbers in English date represenation (Z#23210534) 2025-10-10 10:38:28 +02:00
10 changed files with 78 additions and 78 deletions

View File

@@ -76,11 +76,11 @@ def daterange(df, dt, as_html=False):
return format_html(base_format, _date(df, "j F"), until, _date(dt, "j F Y"))
elif lng.startswith("en"):
if df.year == dt.year and df.month == dt.month and df.day == dt.day:
return format_html(base_format, _date(df, "D, N jS, Y"))
return format_html(base_format, _date(df, "D, N j, Y"))
elif df.year == dt.year and df.month == dt.month:
return format_html(base_format, _date(df, "N jS"), until, _date(dt, "jS, Y"))
return format_html(base_format, _date(df, "N j"), until, _date(dt, "j, Y"))
elif df.year == dt.year:
return format_html(base_format, _date(df, "N jS"), until, _date(dt, "N jS, Y"))
return format_html(base_format, _date(df, "N j"), until, _date(dt, "N j, Y"))
elif lng.startswith("es"):
if df.year == dt.year and df.month == dt.month and df.day == dt.day:
return format_html(base_format, _date(df, "DATE_FORMAT"))

View File

@@ -38,5 +38,5 @@ SHORT_DATE_FORMAT = 'Y-m-d'
SHORT_DATETIME_FORMAT = 'Y-m-d H:i'
TIME_FORMAT = 'H:i'
WEEK_FORMAT = '\\W W, o'
WEEK_DAY_FORMAT = 'D, M jS'
WEEK_DAY_FORMAT = 'D, M j'
SHORT_MONTH_DAY_FORMAT = 'd.m.'

View File

@@ -38,7 +38,7 @@ SHORT_DATE_FORMAT = "Y-m-d"
SHORT_DATETIME_FORMAT = 'Y-m-d P'
TIME_FORMAT = 'P'
WEEK_FORMAT = '\\W W, o'
WEEK_DAY_FORMAT = 'D, M jS'
WEEK_DAY_FORMAT = 'D, M j'
SHORT_MONTH_DAY_FORMAT = 'm/d'
DATE_INPUT_FORMATS = [

View File

@@ -25,7 +25,7 @@ SHORT_DATE_FORMAT = 'm/d/Y'
SHORT_DATETIME_FORMAT = 'm/d/Y P'
TIME_FORMAT = 'P'
WEEK_FORMAT = '\\W W, o'
WEEK_DAY_FORMAT = 'D, M jS'
WEEK_DAY_FORMAT = 'D, M j'
SHORT_MONTH_DAY_FORMAT = 'm/d'
DATE_INPUT_FORMATS = [

View File

@@ -414,7 +414,7 @@ def test_2f1r_discount_cross_selling_eventseries_mixed(eventseries):
Regular Ticket 42.00 42.00 Date1
''',
recommendations=f''' Price Discounted Price Max Count Prefix
Tickets (Date1 - Wed, Jan. 1st, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
Tickets (Date1 - Wed, Jan. 1, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
'''
)
check_cart_behaviour(
@@ -424,8 +424,8 @@ def test_2f1r_discount_cross_selling_eventseries_mixed(eventseries):
Regular Ticket 42.00 42.00 Date2
''',
recommendations=f''' Price Discounted Price Max Count Prefix
Tickets (Date1 - Wed, Jan. 1st, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
Tickets (Date2 - Wed, Jan. 1st, 2020 11:00) Reduced Ticket 23.00 11.50 1 {prefix_date2}
Tickets (Date1 - Wed, Jan. 1, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
Tickets (Date2 - Wed, Jan. 1, 2020 11:00) Reduced Ticket 23.00 11.50 1 {prefix_date2}
'''
)
check_cart_behaviour(
@@ -460,8 +460,8 @@ def test_2f1r_discount_cross_selling_eventseries_mixed(eventseries):
Regular Ticket 42.00 42.00 Date2
''',
recommendations=f''' Price Discounted Price Max Count Prefix
Tickets (Date1 - Wed, Jan. 1st, 2020 10:00) Reduced Ticket 23.00 11.50 2 {prefix_date1}
Tickets (Date2 - Wed, Jan. 1st, 2020 11:00) Reduced Ticket 23.00 11.50 2 {prefix_date2}
Tickets (Date1 - Wed, Jan. 1, 2020 10:00) Reduced Ticket 23.00 11.50 2 {prefix_date1}
Tickets (Date2 - Wed, Jan. 1, 2020 11:00) Reduced Ticket 23.00 11.50 2 {prefix_date2}
'''
)
check_cart_behaviour(
@@ -475,7 +475,7 @@ def test_2f1r_discount_cross_selling_eventseries_mixed(eventseries):
Reduced Ticket 23.00 11.50 Date1
''',
recommendations=f''' Price Discounted Price Max Count Prefix
Tickets (Date1 - Wed, Jan. 1st, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
Tickets (Date1 - Wed, Jan. 1, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
'''
)
check_cart_behaviour(
@@ -490,7 +490,7 @@ def test_2f1r_discount_cross_selling_eventseries_mixed(eventseries):
Reduced Ticket 23.00 11.50 Date1
''',
recommendations=f''' Price Discounted Price Max Count Prefix
Tickets (Date1 - Wed, Jan. 1st, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
Tickets (Date1 - Wed, Jan. 1, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
'''
)
check_cart_behaviour(
@@ -506,7 +506,7 @@ def test_2f1r_discount_cross_selling_eventseries_mixed(eventseries):
Reduced Ticket 23.00 11.50 Date1
''',
recommendations=f''' Price Discounted Price Max Count Prefix
Tickets (Date1 - Wed, Jan. 1st, 2020 10:00) Reduced Ticket 23.00 11.50 2 {prefix_date1}
Tickets (Date1 - Wed, Jan. 1, 2020 10:00) Reduced Ticket 23.00 11.50 2 {prefix_date1}
'''
)
@@ -531,8 +531,8 @@ def test_2f1r_discount_cross_selling_eventseries_same(eventseries):
Regular Ticket 42.00 42.00 Date2
''',
recommendations=f''' Price Discounted Price Max Count Prefix
Tickets (Date1 - Wed, Jan. 1st, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
Tickets (Date2 - Wed, Jan. 1st, 2020 11:00) Reduced Ticket 23.00 11.50 1 {prefix_date2}
Tickets (Date1 - Wed, Jan. 1, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
Tickets (Date2 - Wed, Jan. 1, 2020 11:00) Reduced Ticket 23.00 11.50 1 {prefix_date2}
'''
)
check_cart_behaviour(
@@ -546,8 +546,8 @@ def test_2f1r_discount_cross_selling_eventseries_same(eventseries):
Regular Ticket 42.00 42.00 Date2
''',
recommendations=f''' Price Discounted Price Max Count Prefix
Tickets (Date1 - Wed, Jan. 1st, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
Tickets (Date2 - Wed, Jan. 1st, 2020 11:00) Reduced Ticket 23.00 11.50 2 {prefix_date2}
Tickets (Date1 - Wed, Jan. 1, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
Tickets (Date2 - Wed, Jan. 1, 2020 11:00) Reduced Ticket 23.00 11.50 2 {prefix_date2}
'''
)
check_cart_behaviour(
@@ -561,7 +561,7 @@ def test_2f1r_discount_cross_selling_eventseries_same(eventseries):
Reduced Ticket 23.00 11.50 Date1
''',
recommendations=f''' Price Discounted Price Max Count Prefix
Tickets (Date1 - Wed, Jan. 1st, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
Tickets (Date1 - Wed, Jan. 1, 2020 10:00) Reduced Ticket 23.00 11.50 1 {prefix_date1}
'''
)
check_cart_behaviour(
@@ -589,7 +589,7 @@ def test_2f1r_discount_cross_selling_eventseries_same(eventseries):
Reduced Ticket 23.00 11.50 Date1
''',
recommendations=f''' Price Discounted Price Max Count Prefix
Tickets (Date2 - Wed, Jan. 1st, 2020 11:00) Reduced Ticket 23.00 11.50 1 {prefix_date2}
Tickets (Date2 - Wed, Jan. 1, 2020 11:00) Reduced Ticket 23.00 11.50 1 {prefix_date2}
'''
)

View File

@@ -2489,44 +2489,44 @@ class EventTest(TestCase):
(
datetime.datetime(2025, 3, 9, 21, 0, 0, tzinfo=tz),
datetime.datetime(2025, 3, 9, 22, 0, 0, tzinfo=tz),
'Sun, March 9th, 2025',
'<time datetime="2025-03-09">Sun, March 9th, 2025</time>',
'Sun, March 9th, 2025 20:0021:00',
'<time datetime="2025-03-09">Sun, March 9th, 2025</time> '
'Sun, March 9, 2025',
'<time datetime="2025-03-09">Sun, March 9, 2025</time>',
'Sun, March 9, 2025 20:0021:00',
'<time datetime="2025-03-09">Sun, March 9, 2025</time> '
'<time datetime="2025-03-09T21:00:00+01:00" data-timezone="UTC" data-time-short>20:0021:00</time>'
),
(
datetime.datetime(2025, 3, 9, 21, 0, 0, tzinfo=tz),
datetime.datetime(2025, 3, 10, 3, 0, 0, tzinfo=tz),
'March 9th 10th, 2025',
'<time datetime="2025-03-09">March 9th</time> '
'March 9 10, 2025',
'<time datetime="2025-03-09">March 9</time> '
'<span aria-hidden="true"></span><span class="sr-only"> until </span> '
'<time datetime="2025-03-10">10th, 2025</time>',
'March 9th 10th, 2025 20:0002:00',
'<time datetime="2025-03-09">March 9th</time> '
'<time datetime="2025-03-10">10, 2025</time>',
'March 9 10, 2025 20:0002:00',
'<time datetime="2025-03-09">March 9</time> '
'<span aria-hidden="true"></span><span class="sr-only"> until </span> '
'<time datetime="2025-03-10">10th, 2025</time> '
'<time datetime="2025-03-10">10, 2025</time> '
'<time datetime="2025-03-09T21:00:00+01:00" data-timezone="UTC" data-time-short>20:0002:00</time>'
),
(
datetime.datetime(2025, 3, 9, 21, 0, 0, tzinfo=tz),
datetime.datetime(2025, 3, 12, 14, 0, 0, tzinfo=tz),
'March 9th 12th, 2025',
'<time datetime="2025-03-09">March 9th</time> '
'March 9 12, 2025',
'<time datetime="2025-03-09">March 9</time> '
'<span aria-hidden="true"></span><span class="sr-only"> until </span> '
'<time datetime="2025-03-12">12th, 2025</time>',
'March 9th 12th, 2025',
'<time datetime="2025-03-09">March 9th</time> '
'<time datetime="2025-03-12">12, 2025</time>',
'March 9 12, 2025',
'<time datetime="2025-03-09">March 9</time> '
'<span aria-hidden="true"></span><span class="sr-only"> until </span> '
'<time datetime="2025-03-12">12th, 2025</time>',
'<time datetime="2025-03-12">12, 2025</time>',
),
(
datetime.datetime(2025, 3, 9, 21, 0, 0, tzinfo=tz),
None,
'Sun, March 9th, 2025',
'<time datetime="2025-03-09">Sun, March 9th, 2025</time>',
'Sun, March 9th, 2025 20:00',
'<time datetime="2025-03-09">Sun, March 9th, 2025</time> '
'Sun, March 9, 2025',
'<time datetime="2025-03-09">Sun, March 9, 2025</time>',
'Sun, March 9, 2025 20:00',
'<time datetime="2025-03-09">Sun, March 9, 2025</time> '
'<time datetime="2025-03-09T21:00:00+01:00" data-timezone="UTC" data-time-short>20:00</time>'
),
)

View File

@@ -48,10 +48,10 @@ ref_date = date(2023, 3, 28)
(ref_date, 'days_tomorrow', date(2023, 3, 29), date(2023, 3, 29), None),
(ref_date, 'days_next7', date(2023, 3, 29), date(2023, 4, 4), None),
(ref_date, 'days_next14', date(2023, 3, 29), date(2023, 4, 11), None),
(ref_date, 'week_this', date(2023, 3, 27), date(2023, 4, 2), 'W 13, 2023 - March 27th April 2nd, 2023'),
(ref_date, 'week_to_date', date(2023, 3, 27), date(2023, 3, 28), 'W 13, 2023 - March 27th 28th, 2023'),
(ref_date, 'week_previous', date(2023, 3, 20), date(2023, 3, 26), 'W 12, 2023 - March 20th 26th, 2023'),
(ref_date, 'week_next', date(2023, 4, 3), date(2023, 4, 9), 'W 14, 2023 - April 3rd 9th, 2023'),
(ref_date, 'week_this', date(2023, 3, 27), date(2023, 4, 2), 'W 13, 2023 - March 27 April 2, 2023'),
(ref_date, 'week_to_date', date(2023, 3, 27), date(2023, 3, 28), 'W 13, 2023 - March 27 28, 2023'),
(ref_date, 'week_previous', date(2023, 3, 20), date(2023, 3, 26), 'W 12, 2023 - March 20 26, 2023'),
(ref_date, 'week_next', date(2023, 4, 3), date(2023, 4, 9), 'W 14, 2023 - April 3 9, 2023'),
(ref_date, 'month_this', date(2023, 3, 1), date(2023, 3, 31), 'March 2023'),
(ref_date, 'month_to_date', date(2023, 3, 1), date(2023, 3, 28), 'March 2023'),
(ref_date, 'month_previous', date(2023, 2, 1), date(2023, 2, 28), 'February 2023'),

View File

@@ -50,8 +50,8 @@ def test_same_day_german():
def test_same_day_english():
with translation.override('en'):
df = date(2003, 2, 1)
assert daterange(df, df) == "Sat, Feb. 1st, 2003"
assert daterange(df, df, as_html=True) == '<time datetime="2003-02-01">Sat, Feb. 1st, 2003</time>'
assert daterange(df, df) == "Sat, Feb. 1, 2003"
assert daterange(df, df, as_html=True) == '<time datetime="2003-02-01">Sat, Feb. 1, 2003</time>'
def test_same_day_spanish():
@@ -82,10 +82,10 @@ def test_same_month_english():
with translation.override('en'):
df = date(2003, 2, 1)
dt = date(2003, 2, 3)
assert daterange(df, dt) == "Feb. 1st 3rd, 2003"
assert daterange(df, dt, as_html=True) == '<time datetime="2003-02-01">Feb. 1st</time> ' \
assert daterange(df, dt) == "Feb. 1 3, 2003"
assert daterange(df, dt, as_html=True) == '<time datetime="2003-02-01">Feb. 1</time> ' \
'<span aria-hidden="true"></span><span class="sr-only"> until </span> ' \
'<time datetime="2003-02-03">3rd, 2003</time>'
'<time datetime="2003-02-03">3, 2003</time>'
def test_same_month_spanish():
@@ -112,10 +112,10 @@ def test_same_year_english():
with translation.override('en'):
df = date(2003, 2, 1)
dt = date(2003, 4, 3)
assert daterange(df, dt) == "Feb. 1st April 3rd, 2003"
assert daterange(df, dt, as_html=True) == '<time datetime="2003-02-01">Feb. 1st</time> ' \
assert daterange(df, dt) == "Feb. 1 April 3, 2003"
assert daterange(df, dt, as_html=True) == '<time datetime="2003-02-01">Feb. 1</time> ' \
'<span aria-hidden="true"></span><span class="sr-only"> until </span> ' \
'<time datetime="2003-04-03">April 3rd, 2003</time>'
'<time datetime="2003-04-03">April 3, 2003</time>'
def test_same_year_spanish():

View File

@@ -1621,7 +1621,7 @@ class EventLocaleTest(EventTestMixin, SoupTest):
'/%s/%s/' % (self.orga.slug, self.event.slug)
)
self.assertEqual(response.status_code, 200)
self.assertIn('Thu, Dec. 26th,', response.rendered_content)
self.assertIn('Thu, Dec. 26,', response.rendered_content)
self.assertIn('14:00', response.rendered_content)
def test_english_region_US(self):
@@ -1631,7 +1631,7 @@ class EventLocaleTest(EventTestMixin, SoupTest):
'/%s/%s/' % (self.orga.slug, self.event.slug)
)
self.assertEqual(response.status_code, 200)
self.assertIn('Thu, Dec. 26th,', response.rendered_content)
self.assertIn('Thu, Dec. 26,', response.rendered_content)
self.assertIn('2 p.m.', response.rendered_content)
def test_german_region_US(self):

View File

@@ -169,7 +169,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
"target_url": "http://example.com/ccc/30c3/",
"subevent": None,
"name": "30C3",
"date_range": f"{self.event.date_from.strftime('%a')}, Dec. 26th, {self.event.date_from.year} 00:00",
"date_range": f"{self.event.date_from.strftime('%a')}, Dec. 26, {self.event.date_from.year} 00:00",
"frontpage_text": "",
"location": "",
"currency": "EUR",
@@ -375,7 +375,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
"target_url": "http://example.com/ccc/30c3/",
"subevent": None,
"name": "30C3",
"date_range": f"{self.event.date_from.strftime('%a')}, Dec. 26th, {self.event.date_from.year} 00:00",
"date_range": f"{self.event.date_from.strftime('%a')}, Dec. 26, {self.event.date_from.year} 00:00",
"frontpage_text": "",
"location": "",
"currency": "EUR",
@@ -435,7 +435,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
"target_url": "http://example.com/ccc/30c3/",
"subevent": None,
"name": "30C3",
"date_range": f"{self.event.date_from.strftime('%a')}, Dec. 26th, {self.event.date_from.year} 00:00",
"date_range": f"{self.event.date_from.strftime('%a')}, Dec. 26, {self.event.date_from.year} 00:00",
"frontpage_text": "",
"location": "",
"currency": "EUR",
@@ -520,7 +520,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
"target_url": "http://example.com/ccc/30c3/",
"subevent": None,
"name": "30C3",
"date_range": f"{self.event.date_from.strftime('%a')}, Dec. 26th, {self.event.date_from.year} 00:00",
"date_range": f"{self.event.date_from.strftime('%a')}, Dec. 26, {self.event.date_from.year} 00:00",
"frontpage_text": "",
"location": "",
"currency": "EUR",
@@ -627,9 +627,9 @@ class WidgetCartTest(CartTestMixin, TestCase):
'poweredby': '<a href="https://pretix.eu" target="_blank" rel="noopener">ticketing powered by pretix</a>',
'has_more_events': False,
'events': [
{'name': 'Present', 'date_range': 'Tue, Jan. 1st, 2019 11:00', 'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
{'name': 'Present', 'date_range': 'Tue, Jan. 1, 2019 11:00', 'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se1.pk, 'location': ''},
{'name': 'Future', 'date_range': 'Fri, Jan. 4th, 2019 11:00', 'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
{'name': 'Future', 'date_range': 'Fri, Jan. 4, 2019 11:00', 'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se2.pk, 'location': ''}
]
}
@@ -659,14 +659,14 @@ class WidgetCartTest(CartTestMixin, TestCase):
[
None,
{'day': 1, 'date': '2019-01-01', 'events': [
{'name': 'Present', 'time': '11:00', 'continued': False, 'date_range': 'Tue, Jan. 1st, 2019 11:00',
{'name': 'Present', 'time': '11:00', 'continued': False, 'date_range': 'Tue, Jan. 1, 2019 11:00',
'location': '',
'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se1.pk}]},
{'day': 2, 'date': '2019-01-02', 'events': []},
{'day': 3, 'date': '2019-01-03', 'events': []},
{'day': 4, 'date': '2019-01-04', 'events': [
{'name': 'Future', 'time': '11:00', 'continued': False, 'date_range': 'Fri, Jan. 4th, 2019 11:00',
{'name': 'Future', 'time': '11:00', 'continued': False, 'date_range': 'Fri, Jan. 4, 2019 11:00',
'location': '',
'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se2.pk}]},
@@ -732,21 +732,21 @@ class WidgetCartTest(CartTestMixin, TestCase):
'week': [2019, 1],
'poweredby': '<a href="https://pretix.eu" target="_blank" rel="noopener">ticketing powered by pretix</a>',
'days': [
{'day_formatted': 'Mon, Dec 31st', 'date': '2018-12-31', 'events': [], 'today': False},
{'day_formatted': 'Tue, Jan 1st', 'date': '2019-01-01', 'events': [
{'name': 'Present', 'time': '11:00', 'continued': False, 'date_range': 'Tue, Jan. 1st, 2019 11:00',
{'day_formatted': 'Mon, Dec 31', 'date': '2018-12-31', 'events': [], 'today': False},
{'day_formatted': 'Tue, Jan 1', 'date': '2019-01-01', 'events': [
{'name': 'Present', 'time': '11:00', 'continued': False, 'date_range': 'Tue, Jan. 1, 2019 11:00',
'location': '',
'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se1.pk}], 'today': True},
{'day_formatted': 'Wed, Jan 2nd', 'date': '2019-01-02', 'events': [], 'today': False},
{'day_formatted': 'Thu, Jan 3rd', 'date': '2019-01-03', 'events': [], 'today': False},
{'day_formatted': 'Fri, Jan 4th', 'date': '2019-01-04', 'events': [
{'name': 'Future', 'time': '11:00', 'continued': False, 'date_range': 'Fri, Jan. 4th, 2019 11:00',
{'day_formatted': 'Wed, Jan 2', 'date': '2019-01-02', 'events': [], 'today': False},
{'day_formatted': 'Thu, Jan 3', 'date': '2019-01-03', 'events': [], 'today': False},
{'day_formatted': 'Fri, Jan 4', 'date': '2019-01-04', 'events': [
{'name': 'Future', 'time': '11:00', 'continued': False, 'date_range': 'Fri, Jan. 4, 2019 11:00',
'location': '',
'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se2.pk}], 'today': False},
{'day_formatted': 'Sat, Jan 5th', 'date': '2019-01-05', 'events': [], 'today': False},
{'day_formatted': 'Sun, Jan 6th', 'date': '2019-01-06', 'events': [], 'today': False}
{'day_formatted': 'Sat, Jan 5', 'date': '2019-01-05', 'events': [], 'today': False},
{'day_formatted': 'Sun, Jan 6', 'date': '2019-01-06', 'events': [], 'today': False}
],
}
@@ -773,17 +773,17 @@ class WidgetCartTest(CartTestMixin, TestCase):
'poweredby': '<a href="https://pretix.eu" target="_blank" rel="noopener">ticketing powered by pretix</a>',
'events': [
{'availability': {'color': 'none', 'text': 'Event series'},
'date_range': 'Jan. 1st 4th, 2019',
'date_range': 'Jan. 1 4, 2019',
'event_url': 'http://example.com/ccc/30c3/',
'location': '',
'name': '30C3'},
{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
'date_range': 'Tue, Jan. 1st, 2019 10:00',
'date_range': 'Tue, Jan. 1, 2019 10:00',
'location': '',
'event_url': 'http://example.com/ccc/present/',
'name': 'Present'},
{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
'date_range': 'Fri, Jan. 4th, 2019 10:00',
'date_range': 'Fri, Jan. 4, 2019 10:00',
'location': '',
'event_url': 'http://example.com/ccc/future/',
'name': 'Future'}
@@ -884,7 +884,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
'day': 1,
'events': [{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
'continued': False,
'date_range': 'Tue, Jan. 1st, 2019 10:00',
'date_range': 'Tue, Jan. 1, 2019 10:00',
'event_url': 'http://example.com/ccc/present/',
'name': 'Present',
'location': '',
@@ -892,7 +892,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
'time': '10:00'},
{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
'continued': False,
'date_range': 'Tue, Jan. 1st, 2019 11:00',
'date_range': 'Tue, Jan. 1, 2019 11:00',
'event_url': 'http://example.com/ccc/30c3/',
'name': 'Present',
'location': '',
@@ -904,7 +904,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
'day': 4,
'events': [{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
'continued': False,
'date_range': 'Fri, Jan. 4th, 2019 10:00',
'date_range': 'Fri, Jan. 4, 2019 10:00',
'event_url': 'http://example.com/ccc/future/',
'name': 'Future',
'location': '',
@@ -912,7 +912,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
'time': '10:00'},
{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
'continued': False,
'date_range': 'Fri, Jan. 4th, 2019 11:00',
'date_range': 'Fri, Jan. 4, 2019 11:00',
'event_url': 'http://example.com/ccc/30c3/',
'name': 'Future',
'location': '',