Lines Matching refs:self
369 def normalize_calendar(self, s):
381 def check_htmlcalendar_encoding(self, req, res):
386 self.assertEqual(
391 def test_output(self):
392 self.assertEqual(
393 self.normalize_calendar(calendar.calendar(2004)),
394 self.normalize_calendar(result_2004_text)
396 self.assertEqual(
397 self.normalize_calendar(calendar.calendar(0)),
398 self.normalize_calendar(result_0_text)
401 def test_output_textcalendar(self):
402 self.assertEqual(
406 self.assertEqual(
411 def test_output_htmlcalendar_encoding_ascii(self):
412 self.check_htmlcalendar_encoding('ascii', 'ascii')
414 def test_output_htmlcalendar_encoding_utf8(self):
415 self.check_htmlcalendar_encoding('utf-8', 'utf-8')
417 def test_output_htmlcalendar_encoding_default(self):
418 self.check_htmlcalendar_encoding(None, sys.getdefaultencoding())
420 def test_yeardatescalendar(self):
425 self.assertEqual(
430 def test_yeardayscalendar(self):
431 self.assertEqual(
436 def test_formatweekheader_short(self):
437 self.assertEqual(
442 def test_formatweekheader_long(self):
443 self.assertEqual(
449 def test_formatmonth(self):
450 self.assertEqual(
454 self.assertEqual(
459 def test_formatmonthname_with_year(self):
460 self.assertEqual(
465 def test_formatmonthname_without_year(self):
466 self.assertEqual(
471 def test_prweek(self):
475 self.assertEqual(out.getvalue(), " 1 2 3 4 5 6 7")
477 def test_prmonth(self):
480 self.assertEqual(out.getvalue(), result_2004_01_text)
482 def test_pryear(self):
485 self.assertEqual(out.getvalue(), result_2004_text)
487 def test_format(self):
490 self.assertEqual(out.getvalue().strip(), "1 2 3")
493 def test_isleap(self):
498 self.assertEqual(calendar.isleap(2000), 1)
499 self.assertEqual(calendar.isleap(2001), 0)
500 self.assertEqual(calendar.isleap(2002), 0)
501 self.assertEqual(calendar.isleap(2003), 0)
503 def test_setfirstweekday(self):
504 self.assertRaises(TypeError, calendar.setfirstweekday, 'flabber')
505 self.assertRaises(ValueError, calendar.setfirstweekday, -1)
506 self.assertRaises(ValueError, calendar.setfirstweekday, 200)
509 self.assertEqual(calendar.firstweekday(), calendar.SUNDAY)
511 self.assertEqual(calendar.firstweekday(), calendar.MONDAY)
514 def test_illegal_weekday_reported(self):
515 with self.assertRaisesRegex(calendar.IllegalWeekdayError, '123'):
518 def test_enumerate_weekdays(self):
519 self.assertRaises(IndexError, calendar.day_abbr.__getitem__, -10)
520 self.assertRaises(IndexError, calendar.day_name.__getitem__, 10)
521 self.assertEqual(len([d for d in calendar.day_abbr]), 7)
523 def test_days(self):
526 self.assertEqual(len(value), 7)
527 self.assertEqual(len(value[:]), 7)
529 self.assertEqual(len(set(value)), 7)
531 self.assertEqual(value[::-1], list(reversed(value)))
533 def test_months(self):
536 self.assertEqual(len(value), 13)
537 self.assertEqual(len(value[:]), 13)
538 self.assertEqual(value[0], "")
540 self.assertEqual(len(set(value)), 13)
542 self.assertEqual(value[::-1], list(reversed(value)))
544 def test_locale_calendars(self):
555 self.assertIsInstance(local_weekday, str)
556 self.assertIsInstance(local_month, str)
557 self.assertEqual(len(local_weekday), 10)
558 self.assertGreaterEqual(len(local_month), 10)
562 self.assertIsInstance(local_weekday, str)
563 self.assertIsInstance(local_month, str)
565 self.assertEqual(old_october, new_october)
567 def test_locale_calendar_formatweekday(self):
572 self.assertEqual(cal.formatweekday(0, 1), "M")
573 self.assertEqual(cal.formatweekday(0, 2), "Mo")
575 self.assertEqual(cal.formatweekday(0, 3), "Mon")
576 self.assertEqual(cal.formatweekday(0, 5), " Mon ")
577 self.assertEqual(cal.formatweekday(0, 8), " Mon ")
579 self.assertEqual(cal.formatweekday(0, 9), " Monday ")
580 self.assertEqual(cal.formatweekday(0, 10), " Monday ")
584 def test_locale_html_calendar_custom_css_class_month_name(self):
591 self.assertIn('class="month"', local_month)
594 self.assertIn('class="text-center month"', local_month)
596 def test_locale_html_calendar_custom_css_class_weekday(self):
603 self.assertIn('class="sun"', local_weekday)
606 self.assertIn('class="sun2"', local_weekday)
608 def test_itermonthdays3(self):
612 def test_itermonthdays4(self):
615 self.assertEqual(days[0], (2001, 2, 1, 3))
616 self.assertEqual(days[-1], (2001, 2, 28, 2))
618 def test_itermonthdays(self):
624 self.assertIn(len(days), (35, 42))
628 self.assertEqual(days, list(range(1, 29)))
630 def test_itermonthdays2(self):
636 self.assertEqual(days[0][1], firstweekday)
637 self.assertEqual(days[-1][1], (firstweekday - 1) % 7)
639 def test_iterweekdays(self):
645 self.assertEqual(week, expected)
649 def setUp(self):
650 self.oldfirstweekday = calendar.firstweekday()
651 calendar.setfirstweekday(self.firstweekday)
653 def tearDown(self):
654 calendar.setfirstweekday(self.oldfirstweekday)
656 def check_weeks(self, year, month, weeks):
658 self.assertEqual(len(cal), len(weeks))
660 self.assertEqual(weeks[i], sum(day != 0 for day in cal[i]))
666 def test_february(self):
668 self.check_weeks(1999, 2, (7, 7, 7, 7))
671 self.check_weeks(2005, 2, (6, 7, 7, 7, 1))
674 self.check_weeks(1987, 2, (1, 7, 7, 7, 6))
677 self.check_weeks(1988, 2, (7, 7, 7, 7, 1))
680 self.check_weeks(1972, 2, (6, 7, 7, 7, 2))
683 self.check_weeks(2004, 2, (1, 7, 7, 7, 7))
685 def test_april(self):
687 self.check_weeks(1935, 4, (7, 7, 7, 7, 2))
690 self.check_weeks(1975, 4, (6, 7, 7, 7, 3))
693 self.check_weeks(1945, 4, (1, 7, 7, 7, 7, 1))
696 self.check_weeks(1995, 4, (2, 7, 7, 7, 7))
699 self.check_weeks(1994, 4, (3, 7, 7, 7, 6))
701 def test_december(self):
703 self.check_weeks(1980, 12, (7, 7, 7, 7, 3))
706 self.check_weeks(1987, 12, (6, 7, 7, 7, 4))
709 self.check_weeks(1968, 12, (1, 7, 7, 7, 7, 2))
712 self.check_weeks(1988, 12, (4, 7, 7, 7, 6))
715 self.check_weeks(2017, 12, (3, 7, 7, 7, 7))
718 self.check_weeks(2068, 12, (2, 7, 7, 7, 7, 1))
724 def test_february(self):
726 self.check_weeks(2009, 2, (7, 7, 7, 7))
729 self.check_weeks(1999, 2, (6, 7, 7, 7, 1))
732 self.check_weeks(1997, 2, (1, 7, 7, 7, 6))
735 self.check_weeks(2004, 2, (7, 7, 7, 7, 1))
738 self.check_weeks(1960, 2, (6, 7, 7, 7, 2))
741 self.check_weeks(1964, 2, (1, 7, 7, 7, 7))
743 def test_april(self):
745 self.check_weeks(1923, 4, (7, 7, 7, 7, 2))
748 self.check_weeks(1918, 4, (6, 7, 7, 7, 3))
751 self.check_weeks(1950, 4, (1, 7, 7, 7, 7, 1))
754 self.check_weeks(1960, 4, (2, 7, 7, 7, 7))
757 self.check_weeks(1909, 4, (3, 7, 7, 7, 6))
759 def test_december(self):
761 self.check_weeks(2080, 12, (7, 7, 7, 7, 3))
764 self.check_weeks(1941, 12, (6, 7, 7, 7, 4))
767 self.check_weeks(1923, 12, (1, 7, 7, 7, 7, 2))
770 self.check_weeks(1948, 12, (4, 7, 7, 7, 6))
773 self.check_weeks(1927, 12, (3, 7, 7, 7, 7))
776 self.check_weeks(1995, 12, (2, 7, 7, 7, 7, 1))
781 def test_timegm(self):
782 for secs in self.TIMESTAMPS:
784 self.assertEqual(secs, calendar.timegm(tuple))
787 def test_january(self):
789 self.assertEqual(calendar.monthrange(2004,1), (3,31))
791 def test_february_leap(self):
793 self.assertEqual(calendar.monthrange(2004,2), (6,29))
795 def test_february_nonleap(self):
797 self.assertEqual(calendar.monthrange(2010,2), (0,28))
799 def test_december(self):
801 self.assertEqual(calendar.monthrange(2004,12), (2,31))
803 def test_zeroth_month(self):
805 with self.assertRaises(calendar.IllegalMonthError):
808 def test_thirteenth_month(self):
810 with self.assertRaises(calendar.IllegalMonthError):
813 def test_illegal_month_reported(self):
814 with self.assertRaisesRegex(calendar.IllegalMonthError, '65'):
818 def test_no_range(self):
820 self.assertEqual(calendar.leapdays(2010,2010), 0)
822 def test_no_leapdays(self):
824 self.assertEqual(calendar.leapdays(2010,2011), 0)
826 def test_no_leapdays_upper_boundary(self):
828 self.assertEqual(calendar.leapdays(2010,2012), 0)
830 def test_one_leapday_lower_boundary(self):
832 self.assertEqual(calendar.leapdays(2012,2013), 1)
834 def test_several_leapyears_in_range(self):
835 self.assertEqual(calendar.leapdays(1997,2020), 5)
842 def run_ok(self, *args):
845 def assertFailure(self, *args):
847 self.assertIn(b'usage:', stderr)
848 self.assertEqual(rc, 2)
850 def test_help(self):
851 stdout = self.run_ok('-h')
852 self.assertIn(b'usage:', stdout)
853 self.assertIn(b'calendar.py', stdout)
854 self.assertIn(b'--help', stdout)
856 def test_illegal_arguments(self):
857 self.assertFailure('-z')
858 self.assertFailure('spam')
859 self.assertFailure('2004', 'spam')
860 self.assertFailure('-t', 'html', '2004', '1')
862 def test_output_current_year(self):
863 stdout = self.run_ok()
865 self.assertIn((' %s' % year).encode(), stdout)
866 self.assertIn(b'January', stdout)
867 self.assertIn(b'Mo Tu We Th Fr Sa Su', stdout)
869 def test_output_year(self):
870 stdout = self.run_ok('2004')
871 self.assertEqual(stdout, conv(result_2004_text))
873 def test_output_month(self):
874 stdout = self.run_ok('2004', '1')
875 self.assertEqual(stdout, conv(result_2004_01_text))
877 def test_option_encoding(self):
878 self.assertFailure('-e')
879 self.assertFailure('--encoding')
880 stdout = self.run_ok('--encoding', 'utf-16-le', '2004')
881 self.assertEqual(stdout, result_2004_text.encode('utf-16-le'))
883 def test_option_locale(self):
884 self.assertFailure('-L')
885 self.assertFailure('--locale')
886 self.assertFailure('-L', 'en')
898 self.skipTest('cannot set the system default locale')
899 stdout = self.run_ok('--locale', lang, '--encoding', enc, '2004')
900 self.assertIn('2004'.encode(enc), stdout)
902 def test_option_width(self):
903 self.assertFailure('-w')
904 self.assertFailure('--width')
905 self.assertFailure('-w', 'spam')
906 stdout = self.run_ok('--width', '3', '2004')
907 self.assertIn(b'Mon Tue Wed Thu Fri Sat Sun', stdout)
909 def test_option_lines(self):
910 self.assertFailure('-l')
911 self.assertFailure('--lines')
912 self.assertFailure('-l', 'spam')
913 stdout = self.run_ok('--lines', '2', '2004')
914 self.assertIn(conv('December\n\nMo Tu We'), stdout)
916 def test_option_spacing(self):
917 self.assertFailure('-s')
918 self.assertFailure('--spacing')
919 self.assertFailure('-s', 'spam')
920 stdout = self.run_ok('--spacing', '8', '2004')
921 self.assertIn(b'Su Mo', stdout)
923 def test_option_months(self):
924 self.assertFailure('-m')
925 self.assertFailure('--month')
926 self.assertFailure('-m', 'spam')
927 stdout = self.run_ok('--months', '1', '2004')
928 self.assertIn(conv('\nMo Tu We Th Fr Sa Su\n'), stdout)
930 def test_option_type(self):
931 self.assertFailure('-t')
932 self.assertFailure('--type')
933 self.assertFailure('-t', 'spam')
934 stdout = self.run_ok('--type', 'text', '2004')
935 self.assertEqual(stdout, conv(result_2004_text))
936 stdout = self.run_ok('--type', 'html', '2004')
937 self.assertEqual(stdout[:6], b'<?xml ')
938 self.assertIn(b'<title>Calendar for 2004</title>', stdout)
940 def test_html_output_current_year(self):
941 stdout = self.run_ok('--type', 'html')
943 self.assertIn(('<title>Calendar for %s</title>' % year).encode(),
945 self.assertIn(b'<tr><th colspan="7" class="month">January</th></tr>',
948 def test_html_output_year_encoding(self):
949 stdout = self.run_ok('-t', 'html', '--encoding', 'ascii', '2004')
950 self.assertEqual(stdout,
953 def test_html_output_year_css(self):
954 self.assertFailure('-t', 'html', '-c')
955 self.assertFailure('-t', 'html', '--css')
956 stdout = self.run_ok('-t', 'html', '--css', 'custom.css', '2004')
957 self.assertIn(b'<link rel="stylesheet" type="text/css" '
962 def test__all__(self):
967 support.check__all__(self, calendar, not_exported=not_exported)
972 def setUp(self):
984 self.cal = CustomHTMLCal()
986 def test_formatmonthname(self):
987 self.assertIn('class="text-center month-head"',
988 self.cal.formatmonthname(2017, 5))
990 def test_formatmonth(self):
991 self.assertIn('class="text-center month"',
992 self.cal.formatmonth(2017, 5))
994 def test_formatweek(self):
995 weeks = self.cal.monthdays2calendar(2017, 5)
996 self.assertIn('class="wed text-nowrap"', self.cal.formatweek(weeks[0]))
998 def test_formatweek_head(self):
999 header = self.cal.formatweekheader()
1000 for color in self.cal.cssclasses_weekday_head:
1001 self.assertIn('<th class="%s">' % color, header)
1003 def test_format_year(self):
1004 self.assertIn(
1006 self.cal.cssclass_year), self.cal.formatyear(2017))
1008 def test_format_year_head(self):
1009 self.assertIn('<tr><th colspan="%d" class="%s">%s</th></tr>' % (
1010 3, self.cal.cssclass_year_head, 2017), self.cal.formatyear(2017))