summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_format.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/Lib/test/test_format.py b/Lib/test/test_format.py
index c2c7244..4778a8b 100644
--- a/Lib/test/test_format.py
+++ b/Lib/test/test_format.py
@@ -174,3 +174,28 @@ testboth("%o", 042, "42")
# testboth("%o", -042, "37777777736") # Alas, that's specific to 32-bit machines
testboth("%o", 042L, "42")
testboth("%o", -042L, "-42")
+
+# Test exception for unknown format characters
+if verbose:
+ print 'Testing exceptions'
+
+def test_exc(formatstr, args, exception, excmsg):
+ try:
+ testformat(formatstr, args)
+ except exception, exc:
+ if str(exc) == excmsg:
+ if verbose:
+ print "yes"
+ else:
+ if verbose: print 'no'
+ print 'Unexpected ', exception, ':', repr(str(exc))
+ except:
+ if verbose: print 'no'
+ print 'Unexpected exception'
+ raise
+
+test_exc('abc %a', 1, ValueError,
+ "unsupported format character 'a' (0x61) at index 5")
+test_exc(u'abc %\u3000', 1, ValueError,
+ "unsupported format character '\000' (0x3000) at index 5")
+