summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2017-02-03 12:17:43 +1100
committerDamien George <damien.p.george@gmail.com>2017-02-03 12:17:43 +1100
commit84fb292cd55727598159585f864dce669203aec9 (patch)
tree60e4b449de6714d96c3b13e1fbf18a988b3d30c2
parent7317e34383061dcd168190cc9584471c59d2d62e (diff)
downloadmicropython-84fb292cd55727598159585f864dce669203aec9.tar.gz
micropython-84fb292cd55727598159585f864dce669203aec9.zip
tests/basics/string_format_modulo: Add more tests for dict formatting.
-rw-r--r--tests/basics/string_format_modulo.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/basics/string_format_modulo.py b/tests/basics/string_format_modulo.py
index 2e4909220a..f00502457e 100644
--- a/tests/basics/string_format_modulo.py
+++ b/tests/basics/string_format_modulo.py
@@ -66,6 +66,11 @@ print(">%-08.4d<" % -12)
print(">%-+08.4d<" % -12)
print(">%-+08.4d<" % 12)
+# Should be able to print dicts; in this case they aren't used
+# to lookup keywords in formats like %(foo)s
+print('%s' % {})
+print('%s' % ({},))
+
# Cases when "*" used and there's not enough values total
try:
print("%*s" % 5)
@@ -77,6 +82,7 @@ except TypeError:
print("TypeError")
print("%(foo)s" % {"foo": "bar", "baz": False})
+print("%s %(foo)s %(foo)s" % {"foo": 1})
try:
print("%(foo)s" % {})
except KeyError:
@@ -87,6 +93,16 @@ try:
except TypeError:
print("TypeError")
+# When using %(foo)s format the single argument must be a dict
+try:
+ '%(foo)s' % 1
+except TypeError:
+ print('TypeError')
+try:
+ '%(foo)s' % ({},)
+except TypeError:
+ print('TypeError')
+
try:
'%(a' % {'a':1}
except ValueError: