aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2024-02-07 13:57:20 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2024-02-07 15:02:57 +0200
commit0249399f06ab77c58e02698a6a0b2352f0dbf1ae (patch)
tree2d64b29d85ccb935e8ca989c17bd939326e13f72 /tests
parent82fca76bdd4183593702d80c5c41520e8b9d9ad0 (diff)
Add $json.object_names() function
Diffstat (limited to 'tests')
-rw-r--r--tests/function/json/testscript52
1 files changed, 37 insertions, 15 deletions
diff --git a/tests/function/json/testscript b/tests/function/json/testscript
index 9f8c2e9..b7134a8 100644
--- a/tests/function/json/testscript
+++ b/tests/function/json/testscript
@@ -37,6 +37,31 @@ object
object
EOO
+: size
+:
+$* <<EOI >>EOO
+print $value_size([json] null)
+print $value_size([json] true)
+print $value_size([json] 123)
+print $value_size([json] abc)
+print $size([string] ([json] abc)) # @@ Should be 3 (quoted, type hint).
+print $value_size([json] 1 2 3)
+print $value_size([json] one@1 two@2 three@3)
+
+print $array_size([json] 1 2 3)
+print $array_size([json] null)
+EOI
+0
+1
+1
+1
+5
+3
+3
+3
+0
+EOO
+
: member
:
$* <<EOI >>EOO
@@ -55,24 +80,19 @@ two 2
three 3
EOO
-: size
+: names
:
$* <<EOI >>EOO
-print $value_size([json] null)
-print $value_size([json] true)
-print $value_size([json] 123)
-print $value_size([json] abc)
-print $size([string] ([json] abc)) # @@ Should be 3 (quoted, type hint).
-print $value_size([json] 1 2 3)
-print $value_size([json] one@1 two@2 three@3)
+j = [json] one@1 two@2 three@3
+for n: $object_names($j)
+ print $n ($j[$n])
+
+print $object_names([json] null)
EOI
-0
-1
-1
-1
-5
-3
-3
+one 1
+two 2
+three 3
+
EOO
: find
@@ -92,6 +112,7 @@ print $array_find_index($j, [json] one@1)
print $array_find_index($j, [json] one@1 two@2 three@3)
print $array_find_index($j, [json] one@1 TWO@3)
print $array_find_index($j, [json] one@1 two@3)
+print $array_find_index([json] null, 1)
EOI
5
3
@@ -106,6 +127,7 @@ EOI
11
11
11
+0
EOO
: parse