fish-shell/tests/read.out
Johannes Altmanninger 1410f938aa read: discard IFS delimiters before the last token
Do this only when splitting on IFS characters which usually contains
whitespace characters --- read --delimiter is unchanged; it still
consumes no more than one delimiter per variable. This seems better,
because it allows arbitrary delimiters in the last field.

Fixes #6406
2019-12-19 23:44:58 +01:00

135 lines
1.6 KiB
Plaintext

####################
# Read with no vars is not an error
####################
# Read with -a and anything other than exactly on var name is an error
####################
# Verify correct behavior of subcommands and splitting of input.
2
2
1
[one
two]
1
[one
two]
1
[one
two
]
####################
# Test splitting input
1 'hello' 1 'there'
1 'hello there'
1 ''
1 '' 1 ''
1 'test' 1 '' 1 ''
1 'foo' 1 'bar' 1 'baz'
0 a
####################
# Test splitting input with IFS empty
1 'hello'
1 'h' 1 'ello'
1 'h' 1 'e' 1 'llo'
0
1 't' 0
1 't' 0 0
1 ' ' 1 't'
2 'hello' 'there'
1 'hello'
6 'this' 'is' 'a' 'bunch' 'of' 'words'
3 'one' 'two' 'three'
0
5 'h' 'e' 'l' 'l' 'o'
1 'h'
0
####################
# read -n tests
tes
test
test
tes
tin
t
####################
# read -z tests
testing
test ing
newline
1 'test' 1 'ing'
1 'test' 1 ''
1 'foo' 1 'bar'
2 'foo' 'bar'
2 'baz' 'quux'
####################
# Chunked read tests
Chunked reads test pass
####################
# Confirm reading non-interactively works -- #4206 regression
$a: not set in local scope
$a: set in global scope, unexported, with 1 elements
$a[1]: length=3 value=|abc|
$a: not set in universal scope
$b: not set in local scope
$b: set in global scope, unexported, with 1 elements
$b[1]: length=3 value=|def|
$b: not set in universal scope
####################
# Test --delimiter (and $IFS, for now)
a=b
####################
# Delimiter =
a
b
####################
# Delimiter empty
a
=
b
####################
# IFS empty string
a
=
b
####################
# IFS unset
a=b
####################
# Delimiter =
a
b
Multi-char delimiters with -d
a
b
c
Multi-char delimiters with IFS
a
b
c
banana sausage