|
9 | 9 | import datetime
|
10 | 10 | import os
|
11 | 11 |
|
| 12 | +# From https://en.wikipedia.org/wiki/Leap_year_starting_on_Saturday |
| 13 | +result_0_02_text = """\ |
| 14 | + February 0 |
| 15 | +Mo Tu We Th Fr Sa Su |
| 16 | + 1 2 3 4 5 6 |
| 17 | + 7 8 9 10 11 12 13 |
| 18 | +14 15 16 17 18 19 20 |
| 19 | +21 22 23 24 25 26 27 |
| 20 | +28 29 |
| 21 | +""" |
| 22 | + |
| 23 | +result_0_text = """\ |
| 24 | + 0 |
| 25 | +
|
| 26 | + January February March |
| 27 | +Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su |
| 28 | + 1 2 1 2 3 4 5 6 1 2 3 4 5 |
| 29 | + 3 4 5 6 7 8 9 7 8 9 10 11 12 13 6 7 8 9 10 11 12 |
| 30 | +10 11 12 13 14 15 16 14 15 16 17 18 19 20 13 14 15 16 17 18 19 |
| 31 | +17 18 19 20 21 22 23 21 22 23 24 25 26 27 20 21 22 23 24 25 26 |
| 32 | +24 25 26 27 28 29 30 28 29 27 28 29 30 31 |
| 33 | +31 |
| 34 | +
|
| 35 | + April May June |
| 36 | +Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su |
| 37 | + 1 2 1 2 3 4 5 6 7 1 2 3 4 |
| 38 | + 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11 |
| 39 | +10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18 |
| 40 | +17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25 |
| 41 | +24 25 26 27 28 29 30 29 30 31 26 27 28 29 30 |
| 42 | +
|
| 43 | + July August September |
| 44 | +Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su |
| 45 | + 1 2 1 2 3 4 5 6 1 2 3 |
| 46 | + 3 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 10 |
| 47 | +10 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 17 |
| 48 | +17 18 19 20 21 22 23 21 22 23 24 25 26 27 18 19 20 21 22 23 24 |
| 49 | +24 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 30 |
| 50 | +31 |
| 51 | +
|
| 52 | + October November December |
| 53 | +Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su |
| 54 | + 1 1 2 3 4 5 1 2 3 |
| 55 | + 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10 |
| 56 | + 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17 |
| 57 | +16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24 |
| 58 | +23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31 |
| 59 | +30 31 |
| 60 | +""" |
| 61 | + |
12 | 62 | result_2004_01_text = """\
|
13 | 63 | January 2004
|
14 | 64 | Mo Tu We Th Fr Sa Su
|
@@ -343,12 +393,20 @@ def test_output(self):
|
343 | 393 | self.normalize_calendar(calendar.calendar(2004)),
|
344 | 394 | self.normalize_calendar(result_2004_text)
|
345 | 395 | )
|
| 396 | + self.assertEqual( |
| 397 | + self.normalize_calendar(calendar.calendar(0)), |
| 398 | + self.normalize_calendar(result_0_text) |
| 399 | + ) |
346 | 400 |
|
347 | 401 | def test_output_textcalendar(self):
|
348 | 402 | self.assertEqual(
|
349 | 403 | calendar.TextCalendar().formatyear(2004),
|
350 | 404 | result_2004_text
|
351 | 405 | )
|
| 406 | + self.assertEqual( |
| 407 | + calendar.TextCalendar().formatyear(0), |
| 408 | + result_0_text |
| 409 | + ) |
352 | 410 |
|
353 | 411 | def test_output_htmlcalendar_encoding_ascii(self):
|
354 | 412 | self.check_htmlcalendar_encoding('ascii', 'ascii')
|
@@ -393,6 +451,10 @@ def test_formatmonth(self):
|
393 | 451 | calendar.TextCalendar().formatmonth(2004, 1),
|
394 | 452 | result_2004_01_text
|
395 | 453 | )
|
| 454 | + self.assertEqual( |
| 455 | + calendar.TextCalendar().formatmonth(0, 2), |
| 456 | + result_0_02_text |
| 457 | + ) |
396 | 458 |
|
397 | 459 | def test_formatmonthname_with_year(self):
|
398 | 460 | self.assertEqual(
|
|
0 commit comments