diff options
author | Jim Mussared <jim.mussared@gmail.com> | 2022-08-18 16:57:45 +1000 |
---|---|---|
committer | Jim Mussared <jim.mussared@gmail.com> | 2023-06-08 17:54:24 +1000 |
commit | 4216bc7d1351feb8199e4ebbff1a9598aa1c5b02 (patch) | |
tree | 5085738ef65ab377c221f290c7fa90ec2acd4d29 /tests/extmod/json_dump_separators.py | |
parent | 5e50975a6dd9466afafbcd012c00078093fe1f57 (diff) |
tests: Replace umodule with module everywhere.
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Diffstat (limited to 'tests/extmod/json_dump_separators.py')
-rw-r--r-- | tests/extmod/json_dump_separators.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/extmod/json_dump_separators.py b/tests/extmod/json_dump_separators.py new file mode 100644 index 000000000..4f8e56dce --- /dev/null +++ b/tests/extmod/json_dump_separators.py @@ -0,0 +1,58 @@ +try: + from io import StringIO + import json +except ImportError: + print("SKIP") + raise SystemExit + +for sep in [ + None, + (", ", ": "), + (",", ": "), + (",", ":"), + [", ", ": "], + [",", ": "], + [",", ":"], +]: + s = StringIO() + json.dump(False, s, separators=sep) + print(s.getvalue()) + + s = StringIO() + json.dump({"a": (2, [3, None])}, s, separators=sep) + print(s.getvalue()) + + # dump to a small-int not allowed + try: + json.dump(123, 1, separators=sep) + except (AttributeError, OSError): # CPython and uPy have different errors + print("Exception") + + # dump to an object not allowed + try: + json.dump(123, {}, separators=sep) + except (AttributeError, OSError): # CPython and uPy have different errors + print("Exception") + + +try: + s = StringIO() + json.dump(False, s, separators={"a": 1}) +except (TypeError, ValueError): # CPython and uPy have different errors + print("Exception") + +# invalid separator types +for sep in [1, object()]: + try: + s = StringIO() + json.dump(False, s, separators=sep) + except TypeError: + print("Exception") + +# too many/ not enough separators +for sep in [(), (",", ":", "?"), (",",), []]: + try: + s = StringIO() + json.dump(False, s, separators=sep) + except ValueError: + print("Exception") |