mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
Issue19995: issue deprecation warning for non-integer values to %c, %o, %x, %X
This commit is contained in:
parent
57bc1e21e7
commit
f9bba9c67f
4 changed files with 49 additions and 9 deletions
|
@ -1139,6 +1139,13 @@ class UnicodeTest(string_tests.CommonTest,
|
|||
self.value = float(value)
|
||||
def __int__(self):
|
||||
return int(self.value)
|
||||
def check_depr(modifier, value):
|
||||
with support.check_warnings(
|
||||
("", DeprecationWarning),
|
||||
quiet=False,
|
||||
):
|
||||
warnings.simplefilter('always')
|
||||
modifier % value
|
||||
pi = PsuedoFloat(3.1415)
|
||||
letter_m = PsuedoInt(109)
|
||||
self.assertEqual('%x' % 42, '2a')
|
||||
|
@ -1149,11 +1156,14 @@ class UnicodeTest(string_tests.CommonTest,
|
|||
self.assertEqual('%X' % letter_m, '6D')
|
||||
self.assertEqual('%o' % letter_m, '155')
|
||||
self.assertEqual('%c' % letter_m, 'm')
|
||||
self.assertRaises(TypeError, '%x'.__mod__, pi)
|
||||
self.assertRaises(TypeError, '%x'.__mod__, 3.14)
|
||||
self.assertRaises(TypeError, '%X'.__mod__, 2.11)
|
||||
self.assertRaises(TypeError, '%o'.__mod__, 1.79)
|
||||
self.assertRaises(TypeError, '%c'.__mod__, pi)
|
||||
for mod, value in (
|
||||
('%x', pi),
|
||||
('%x', 3.14),
|
||||
('%X', 2.11),
|
||||
('%o', 1.79),
|
||||
('%c', pi),
|
||||
):
|
||||
check_depr(mod, value)
|
||||
|
||||
def test_formatting_with_enum(self):
|
||||
# issue18780
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue