diff options
author | Facundo Batista <facundobatista@gmail.com> | 2008-02-24 03:17:21 (GMT) |
---|---|---|
committer | Facundo Batista <facundobatista@gmail.com> | 2008-02-24 03:17:21 (GMT) |
commit | c11cecf3d0f816893f5765a7b5e25d5f4e3fe531 (patch) | |
tree | 681e7a9b0d25d0e246b30dbab2de465e2e212997 /Lib/test/string_tests.py | |
parent | b93e7d16d50a6055309d9ff4e105ade453079c41 (diff) | |
download | cpython-c11cecf3d0f816893f5765a7b5e25d5f4e3fe531.zip cpython-c11cecf3d0f816893f5765a7b5e25d5f4e3fe531.tar.gz cpython-c11cecf3d0f816893f5765a7b5e25d5f4e3fe531.tar.bz2 |
Issue 1742669. Now %d accepts very big float numbers.
Thanks Gabriel Genellina.
Diffstat (limited to 'Lib/test/string_tests.py')
-rw-r--r-- | Lib/test/string_tests.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py index cefdcac..4e2b37e 100644 --- a/Lib/test/string_tests.py +++ b/Lib/test/string_tests.py @@ -1033,7 +1033,14 @@ class MixinStrUnicodeUserStringTest: # unicode raises ValueError, str raises OverflowError self.checkraises((ValueError, OverflowError), '%c', '__mod__', ordinal) + longvalue = sys.maxint + 10L + slongvalue = str(longvalue) + if slongvalue[-1] in ("L","l"): slongvalue = slongvalue[:-1] self.checkequal(' 42', '%3ld', '__mod__', 42) + self.checkequal('42', '%d', '__mod__', 42L) + self.checkequal('42', '%d', '__mod__', 42.0) + self.checkequal(slongvalue, '%d', '__mod__', longvalue) + self.checkcall('%d', '__mod__', float(longvalue)) self.checkequal('0042.00', '%07.2f', '__mod__', 42) self.checkequal('0042.00', '%07.2F', '__mod__', 42) @@ -1043,6 +1050,8 @@ class MixinStrUnicodeUserStringTest: self.checkraises(TypeError, '%c', '__mod__', (None,)) self.checkraises(ValueError, '%(foo', '__mod__', {}) self.checkraises(TypeError, '%(foo)s %(bar)s', '__mod__', ('foo', 42)) + self.checkraises(TypeError, '%d', '__mod__', "42") # not numeric + self.checkraises(TypeError, '%d', '__mod__', (42+0j)) # no int/long conversion provided # argument names with properly nested brackets are supported self.checkequal('bar', '%((foo))s', '__mod__', {'(foo)': 'bar'}) |