diff options
-rw-r--r-- | src/builtin.jq | 1 | ||||
-rwxr-xr-x | tests/shtest | 2 |
2 files changed, 1 insertions, 2 deletions
diff --git a/src/builtin.jq b/src/builtin.jq index d3a4bb16..23c5a564 100644 --- a/src/builtin.jq +++ b/src/builtin.jq @@ -58,7 +58,6 @@ def strings: select(type == "string"); def nulls: select(type == "null"); def values: select(. != null); def scalars: select(. == null or . == true or . == false or type == "number" or type == "string"); -def scalars_or_empty: select(. == null or . == true or . == false or type == "number" or type == "string" or ((type=="array" or type=="object") and length==0)); def leaf_paths: paths(scalars); def join($x): reduce .[] as $i (null; (if .==null then "" else .+$x end) + diff --git a/tests/shtest b/tests/shtest index fc2ef152..a4fec6d6 100755 --- a/tests/shtest +++ b/tests/shtest @@ -155,7 +155,7 @@ cmp $d/out $d/expected ## If we add an option to stream to the `import ... as $symbol;` directive ## then we can move these tests into tests/all.test. -$VALGRIND $Q $JQ -c '. as $d|path(..) as $p|$d|getpath($p)|scalars_or_empty|[$p,.]' < "$JQTESTDIR/torture/input0.json" > $d/out0 +$VALGRIND $Q $JQ -c '. as $d|path(..) as $p|$d|getpath($p)|select((type|. != "array" and . != "object") or length==0)|[$p,.]' < "$JQTESTDIR/torture/input0.json" > $d/out0 $VALGRIND $Q $JQ --stream -c '.|select(length==2)' < "$JQTESTDIR/torture/input0.json" > $d/out1 diff $d/out0 $d/out1 |