summaryrefslogtreecommitdiff
path: root/tests/basics/string_format.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/string_format.py')
-rw-r--r--tests/basics/string_format.py72
1 files changed, 71 insertions, 1 deletions
diff --git a/tests/basics/string_format.py b/tests/basics/string_format.py
index 5398c6e23..d0518243c 100644
--- a/tests/basics/string_format.py
+++ b/tests/basics/string_format.py
@@ -123,4 +123,74 @@ if full_tests:
for str in ('', 'a', 'bcd', 'This is a test with a longer string'):
test_fmt(conv, fill, alignment, '', '', width, '', 's', str)
-# TODO Add tests for erroneous format strings.
+# tests for errors in format string
+
+try:
+ '{0:0}'.format('zzz')
+except (ValueError):
+ print('ValueError')
+
+try:
+ '{1:}'.format(1)
+except IndexError:
+ print('IndexError')
+
+try:
+ '}'.format('zzzz')
+except ValueError:
+ print('ValueError')
+
+try:
+ 'abc{!d}'.format('1')
+except ValueError:
+ print('ValueError')
+
+try:
+ '{abc'.format('zzzz')
+except ValueError:
+ print('ValueError')
+
+try:
+ '{!s :}'.format(2)
+except ValueError:
+ print('ValueError')
+
+try:
+ '{}{0}'.format(1, 2)
+except ValueError:
+ print('ValueError')
+
+try:
+ '{1:}'.format(1)
+except IndexError:
+ print('IndexError')
+
+try:
+ '{ 0 :*^10}'.format(12)
+except KeyError:
+ print('KeyError')
+
+try:
+ '{0}{}'.format(1)
+except ValueError:
+ print('ValueError')
+
+try:
+ '{}{}'.format(1)
+except IndexError:
+ print('IndexError')
+
+try:
+ '{0:+s}'.format('1')
+except ValueError:
+ print('ValueError')
+
+try:
+ '{0:+c}'.format(1)
+except ValueError:
+ print('ValueError')
+
+try:
+ '{0:s}'.format(1)
+except ValueError:
+ print('ValueError')