diff options
author | Damien George <damien.p.george@gmail.com> | 2017-02-03 12:17:43 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2017-02-03 12:17:43 +1100 |
commit | 84fb292cd55727598159585f864dce669203aec9 (patch) | |
tree | 60e4b449de6714d96c3b13e1fbf18a988b3d30c2 | |
parent | 7317e34383061dcd168190cc9584471c59d2d62e (diff) | |
download | micropython-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.py | 16 |
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: |