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_loads.py | |
parent | 5e50975a6dd9466afafbcd012c00078093fe1f57 (diff) | |
download | micropython-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_loads.py')
-rw-r--r-- | tests/extmod/json_loads.py | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/extmod/json_loads.py b/tests/extmod/json_loads.py new file mode 100644 index 0000000000..f9073c121e --- /dev/null +++ b/tests/extmod/json_loads.py @@ -0,0 +1,73 @@ +try: + import json +except ImportError: + print("SKIP") + raise SystemExit + + +def my_print(o): + if isinstance(o, dict): + print("sorted dict", sorted(o.items())) + else: + print(o) + + +my_print(json.loads("null")) +my_print(json.loads("false")) +my_print(json.loads("true")) +my_print(json.loads("1")) +my_print(json.loads("-2")) +my_print(json.loads('"abc\\u0064e"')) +my_print(json.loads("[]")) +my_print(json.loads("[null]")) +my_print(json.loads("[null,false,true]")) +my_print(json.loads(" [ null , false , true ] ")) +my_print(json.loads("{}")) +my_print(json.loads('{"a":true}')) +my_print(json.loads('{"a":null, "b":false, "c":true}')) +my_print(json.loads('{"a":[], "b":[1], "c":{"3":4}}')) +my_print(json.loads('"abc\\bdef"')) +my_print(json.loads('"abc\\fdef"')) +my_print(json.loads('"abc\\ndef"')) +my_print(json.loads('"abc\\rdef"')) +my_print(json.loads('"abc\\tdef"')) +my_print(json.loads('"abc\\uabcd"')) + +# whitespace handling +my_print(json.loads('{\n\t"a":[]\r\n, "b":[1], "c":{"3":4} \n\r\t\r\r\r\n}')) + +# loading nothing should raise exception +try: + json.loads("") +except ValueError: + print("ValueError") + +# string which is not closed +try: + my_print(json.loads('"abc')) +except ValueError: + print("ValueError") + +# unaccompanied closing brace +try: + my_print(json.loads("]")) +except ValueError: + print("ValueError") + +# unspecified object type +try: + my_print(json.loads("a")) +except ValueError: + print("ValueError") + +# bad property name +try: + my_print(json.loads('{{}:"abc"}')) +except ValueError: + print("ValueError") + +# unexpected characters after white space +try: + my_print(json.loads("[null] a")) +except ValueError: + print("ValueError") |