summaryrefslogtreecommitdiff
path: root/tests/extmod/json_loads_int_64.py
diff options
context:
space:
mode:
authorAngus Gratton <angus@redyak.com.au>2025-03-18 13:27:02 +1100
committerDamien George <damien@micropython.org>2025-07-18 00:10:48 +1000
commit6d93b150b894c73656c33c56d049e45f70f8e3db (patch)
tree17cdc1094b31ca779712dc97c2c40d24a6f16368 /tests/extmod/json_loads_int_64.py
parent2d8d64059fbc7cd72e40503e5af19eded73c3d47 (diff)
tests/extmod/json_loads_int_64.py: Add test cases for LONGINT parse.
These tests cover the use of mp_obj_new_int_from_str_len when mp_parse_num_integer overflows the SMALLINT limit, and also the case where the value may not be null terminated. Placed in a separate test file so that extmod/json test doesn't rely on bigint support. Signed-off-by: Yoctopuce dev <dev@yoctopuce.com> Signed-off-by: Angus Gratton <angus@redyak.com.au>
Diffstat (limited to 'tests/extmod/json_loads_int_64.py')
-rw-r--r--tests/extmod/json_loads_int_64.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/extmod/json_loads_int_64.py b/tests/extmod/json_loads_int_64.py
new file mode 100644
index 000000000..193a3c28d
--- /dev/null
+++ b/tests/extmod/json_loads_int_64.py
@@ -0,0 +1,16 @@
+# Parse 64-bit integers from JSON payloads.
+#
+# This also exercises parsing integers from strings
+# where the value may not be null terminated (last line)
+try:
+ import json
+except ImportError:
+ print("SKIP")
+ raise SystemExit
+
+
+print(json.loads("9111222333444555666"))
+print(json.loads("-9111222333444555666"))
+print(json.loads("9111222333444555666"))
+print(json.loads("-9111222333444555666"))
+print(json.loads("[\"9111222333444555666777\",9111222333444555666]"))