summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_unicode.py
diff options
context:
space:
mode:
authorLarry Hastings <larry@hastings.org>2014-01-06 15:24:19 (GMT)
committerLarry Hastings <larry@hastings.org>2014-01-06 15:24:19 (GMT)
commitb7f5dcadf2a929a92cfd5d0386426bc143cb01b4 (patch)
treed3ee3564eac5ff32bf9db2f90907f1979969918b /Lib/test/test_unicode.py
parente7ee44e9ba36fe6220ebb31c5c7faad5cfb2a250 (diff)
parent74fc8c47f66da5673ed733d21e9014e9508f2819 (diff)
downloadcpython-b7f5dcadf2a929a92cfd5d0386426bc143cb01b4.zip
cpython-b7f5dcadf2a929a92cfd5d0386426bc143cb01b4.tar.gz
cpython-b7f5dcadf2a929a92cfd5d0386426bc143cb01b4.tar.bz2
Merge 3.4.0b2 release revisions back into mainline.
Diffstat (limited to 'Lib/test/test_unicode.py')
-rw-r--r--Lib/test/test_unicode.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index c0d5dae..f64a962 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -1126,6 +1126,35 @@ class UnicodeTest(string_tests.CommonTest,
self.assertEqual('%.1s' % "a\xe9\u20ac", 'a')
self.assertEqual('%.2s' % "a\xe9\u20ac", 'a\xe9')
+ #issue 19995
+ class PsuedoInt:
+ def __init__(self, value):
+ self.value = int(value)
+ def __int__(self):
+ return self.value
+ def __index__(self):
+ return self.value
+ class PsuedoFloat:
+ def __init__(self, value):
+ self.value = float(value)
+ def __int__(self):
+ return int(self.value)
+ pi = PsuedoFloat(3.1415)
+ letter_m = PsuedoInt(109)
+ self.assertEquals('%x' % 42, '2a')
+ self.assertEquals('%X' % 15, 'F')
+ self.assertEquals('%o' % 9, '11')
+ self.assertEquals('%c' % 109, 'm')
+ self.assertEquals('%x' % letter_m, '6d')
+ self.assertEquals('%X' % letter_m, '6D')
+ self.assertEquals('%o' % letter_m, '155')
+ self.assertEquals('%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)
+
def test_formatting_with_enum(self):
# issue18780
import enum