summaryrefslogtreecommitdiffstatshomepage
path: root/tests/extmod/json_dumps_separators.py
diff options
context:
space:
mode:
authorJim Mussared <jim.mussared@gmail.com>2022-08-18 16:57:45 +1000
committerJim Mussared <jim.mussared@gmail.com>2023-06-08 17:54:24 +1000
commit4216bc7d1351feb8199e4ebbff1a9598aa1c5b02 (patch)
tree5085738ef65ab377c221f290c7fa90ec2acd4d29 /tests/extmod/json_dumps_separators.py
parent5e50975a6dd9466afafbcd012c00078093fe1f57 (diff)
downloadmicropython-4216bc7d1351feb8199e4ebbff1a9598aa1c5b02.tar.gz
micropython-4216bc7d1351feb8199e4ebbff1a9598aa1c5b02.zip
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_dumps_separators.py')
-rw-r--r--tests/extmod/json_dumps_separators.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/extmod/json_dumps_separators.py b/tests/extmod/json_dumps_separators.py
new file mode 100644
index 0000000000..a3a9ec308f
--- /dev/null
+++ b/tests/extmod/json_dumps_separators.py
@@ -0,0 +1,57 @@
+try:
+ import json
+except ImportError:
+ print("SKIP")
+ raise SystemExit
+
+for sep in [
+ None,
+ (", ", ": "),
+ (",", ": "),
+ (",", ":"),
+ [", ", ": "],
+ [",", ": "],
+ [",", ":"],
+]:
+ print(json.dumps(False, separators=sep))
+ print(json.dumps(True, separators=sep))
+ print(json.dumps(None, separators=sep))
+ print(json.dumps(1, separators=sep))
+ print(json.dumps("abc", separators=sep))
+ print(json.dumps("\x00\x01\x7e", separators=sep))
+ print(json.dumps([], separators=sep))
+ print(json.dumps([1], separators=sep))
+ print(json.dumps([1, 2], separators=sep))
+ print(json.dumps([1, True], separators=sep))
+ print(json.dumps((), separators=sep))
+ print(json.dumps((1,), separators=sep))
+ print(json.dumps((1, 2), separators=sep))
+ print(json.dumps((1, (2, 3)), separators=sep))
+ print(json.dumps({}, separators=sep))
+ print(json.dumps({"a": 1}, separators=sep))
+ print(json.dumps({"a": (2, [3, None])}, separators=sep))
+ print(json.dumps('"quoted"', separators=sep))
+ print(json.dumps("space\n\r\tspace", separators=sep))
+ print(json.dumps({None: -1}, separators=sep))
+ print(json.dumps({False: 0}, separators=sep))
+ print(json.dumps({True: 1}, separators=sep))
+ print(json.dumps({1: 2}, separators=sep))
+
+try:
+ json.dumps(False, separators={"a": 1})
+except (TypeError, ValueError): # CPython and uPy have different errors
+ print("Exception")
+
+# invalid separator types
+for sep in [1, object()]:
+ try:
+ json.dumps(False, separators=sep)
+ except TypeError:
+ print("Exception")
+
+# too many/ not enough separators
+for sep in [(), (",", ":", "?"), (",",), []]:
+ try:
+ json.dumps(False, separators=sep)
+ except ValueError:
+ print("Exception")