summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_calendar.py
diff options
context:
space:
mode:
authorSrinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి) <thatiparthysreenivas@gmail.com>2020-06-02 11:33:09 (GMT)
committerGitHub <noreply@github.com>2020-06-02 11:33:09 (GMT)
commit85339f5c220a5e79c47c3a33c93f1dca5c59c52e (patch)
treedb1de519f9caa1b960010f9d74784635997086a5 /Lib/test/test_calendar.py
parent337d3103a2344e1fec75985e85fabcbdedac7d26 (diff)
downloadcpython-85339f5c220a5e79c47c3a33c93f1dca5c59c52e.zip
cpython-85339f5c220a5e79c47c3a33c93f1dca5c59c52e.tar.gz
cpython-85339f5c220a5e79c47c3a33c93f1dca5c59c52e.tar.bz2
bpo-35078: Allow customization of CSS class name of a month in calendar module (gh-10137)
Refactor formatweekday(), formatmonthname() methods in LocaleHTMLCalendar and LocaleTextCalendar classes in calendar module to call the base class methods. This enables customizable CSS classes for LocaleHTMLCalendar and LocaleTextCalendar. Patch by Srinivas Reddy Thatiparthy
Diffstat (limited to 'Lib/test/test_calendar.py')
-rw-r--r--Lib/test/test_calendar.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/Lib/test/test_calendar.py b/Lib/test/test_calendar.py
index 6241d11..7c7ec1c 100644
--- a/Lib/test/test_calendar.py
+++ b/Lib/test/test_calendar.py
@@ -564,6 +564,30 @@ class CalendarTestCase(unittest.TestCase):
new_october = calendar.TextCalendar().formatmonthname(2010, 10, 10)
self.assertEqual(old_october, new_october)
+ def test_locale_html_calendar_custom_css_class_month_name(self):
+ try:
+ cal = calendar.LocaleHTMLCalendar(locale='')
+ local_month = cal.formatmonthname(2010, 10, 10)
+ except locale.Error:
+ # cannot set the system default locale -- skip rest of test
+ raise unittest.SkipTest('cannot set the system default locale')
+ self.assertIn('class="month"', local_month)
+ cal.cssclass_month_head = "text-center month"
+ local_month = cal.formatmonthname(2010, 10, 10)
+ self.assertIn('class="text-center month"', local_month)
+
+ def test_locale_html_calendar_custom_css_class_weekday(self):
+ try:
+ cal = calendar.LocaleHTMLCalendar(locale='')
+ local_weekday = cal.formatweekday(6)
+ except locale.Error:
+ # cannot set the system default locale -- skip rest of test
+ raise unittest.SkipTest('cannot set the system default locale')
+ self.assertIn('class="sun"', local_weekday)
+ cal.cssclasses_weekday_head = ["mon2", "tue2", "wed2", "thu2", "fri2", "sat2", "sun2"]
+ local_weekday = cal.formatweekday(6)
+ self.assertIn('class="sun2"', local_weekday)
+
def test_itermonthdays3(self):
# ensure itermonthdays3 doesn't overflow after datetime.MAXYEAR
list(calendar.Calendar().itermonthdays3(datetime.MAXYEAR, 12))