|
14 | 14 | import textwrap |
15 | 15 | import unittest |
16 | 16 | import warnings |
| 17 | +import platform |
17 | 18 |
|
18 | 19 | from array import array |
19 | 20 |
|
@@ -1588,6 +1589,15 @@ def test_strftime(self): |
1588 | 1589 | self.assertEqual(t.strftime(""), "") # SF bug #761337 |
1589 | 1590 | self.assertEqual(t.strftime('x'*1000), 'x'*1000) # SF bug #1556784 |
1590 | 1591 |
|
| 1592 | + # SF bug #137165 |
| 1593 | + if platform.system() == 'Darwin': |
| 1594 | + self.assertEqual(t.strftime("m:%-m d:%-d y:%-y"), "m:3 d:2 y:05") |
| 1595 | + elif platform.system() == 'Windows': |
| 1596 | + self.assertEqual(t.strftime("m:%#m d:%#d y:%#y"), "m:3 d:2 y:5") |
| 1597 | + self.assertEqual(t.strftime("m:%-m d:%-d y:%-y"), "m:3 d:2 y:5") |
| 1598 | + else: |
| 1599 | + self.assertEqual(t.strftime("m:%-m d:%-d y:%-y"), "m:3 d:2 y:5") |
| 1600 | + |
1591 | 1601 | self.assertRaises(TypeError, t.strftime) # needs an arg |
1592 | 1602 | self.assertRaises(TypeError, t.strftime, "one", "two") # too many args |
1593 | 1603 | self.assertRaises(TypeError, t.strftime, 42) # arg wrong type |
@@ -3890,6 +3900,11 @@ def test_strftime(self): |
3890 | 3900 | # A naive object replaces %z, %:z and %Z with empty strings. |
3891 | 3901 | self.assertEqual(t.strftime("'%z' '%:z' '%Z'"), "'' '' ''") |
3892 | 3902 |
|
| 3903 | + # SF bug #137165 |
| 3904 | + self.assertEqual(t.strftime('%-H %-M %-S %f'), "1 2 3 000004") |
| 3905 | + if platform.system() == 'Windows': |
| 3906 | + self.assertEqual(t.strftime('%#H %#M %#S %f'), "1 2 3 000004") |
| 3907 | + |
3893 | 3908 | # bpo-34482: Check that surrogates don't cause a crash. |
3894 | 3909 | try: |
3895 | 3910 | t.strftime('%H\ud800%M') |
|
0 commit comments