1
1
mirror of https://github.com/wader/fq.git synced 2024-12-27 15:42:07 +03:00
fq/pkg/interp/testdata/repl.fqtest
Mattias Wadman 0a043f9096 repl,interp: Refactor repl and slurp
Now repl, slurp and help implemented using same query rewrite.
Include filename context in error if possible.
Add spew function that does opposite of slurp.
Start of help infra, not done or documented yet.
Show error pointer on parse error.
Rename internal eval to _eval and make eval be wrapper that
does rewrite and has various eror handling etc.
Nicer repl, slupr and help errors.
2022-03-01 18:31:00 +01:00

110 lines
1.9 KiB
Plaintext

$ fq -i
null>
null> .
null
null> 1+1
2
null> (
^ unexpected token <EOF>
null> )
^ unexpected token ")"
null> abc
error: expr: function not defined: abc/0
null> 1+"a"
error: cannot add: number (1) and string ("a")
null> abc | repl
error: expr: function not defined: abc/0
null> "a"+1 | repl
error: cannot add: string ("a") and number (1)
> empty> ^D
null> repl | 1
error: repl must be last in pipeline. ex: ... | repl
null> 1 | repl
> number> .+1
2
> number> ^D
null> 1 | 2 | repl
> number> .+1
3
> number> ^D
null> 1,2,3 | repl
> number, ...[0:3][]> .
1
2
3
> number, ...[0:3][]> ^D
null> 1,error("err"),3 | repl
error: err
> number> .
1
> number> ^D
null> (1 | raw | .unknown0), 1 | repl
> .unknown0 string, ...[0:2][]> ^D
null> def f: 1; f,f | repl
> number, ...[0:2][]> .
1
1
> number, ...[0:2][]> ^D
null> [1,2,3] | repl
> [number, ...][0:3]> .
[
1,
2,
3
]
> [number, ...][0:3]> ^D
null> [1] | repl
> [number]> .
[
1
]
> [number]> ^D
null> 1,2,error("err"),3 | repl
error: err
> number, ...[0:2][]> .
1
2
> number, ...[0:2][]> ^D
null> repl(123)
error: expr: options must be an object
null> repl(123; 123)
error: expr: repl requires none or one options argument. ex: ... | repl or ... | repl({compact: true})
null> [] | repl
> []> ^D
null> ^D
$ fq -i 'empty'
empty> 1
empty> ^D
$ fq -i 1,2,3
number, ...[0:3][]> .*2
2
4
6
number, ...[0:3][]> .*2 | repl
> number, ...[0:3][]> .
2
4
6
> number, ...[0:3][]> ^D
number, ...[0:3][]> ^D
$ fq -i '[1,2,3]'
[number, ...][0:3]> repl({compact: true})
> [number, ...][0:3]> tovalue
[1,2,3]
> [number, ...][0:3]> ^D
[number, ...][0:3]> ^D
$ fq -i -d mp3 '.headers[0]' /test.mp3
.headers[0] id3v2> ^D
$ fq -i -d mp3 . /test.mp3
mp3> .headers[0] | repl
> .headers[0] id3v2> ^D
mp3> ^D
$ fq -i -d json . /test.mp3
json!> ^D
$ fq -i -n '"[]" | json'
json> ^D
$ fq -n repl
exitcode: 3
stderr:
error: arg: repl can only be used from interactive repl