diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/function.err | 0 | ||||
-rw-r--r-- | tests/function.in | 32 | ||||
-rw-r--r-- | tests/function.out | 20 | ||||
-rw-r--r-- | tests/function.status | 1 |
4 files changed, 53 insertions, 0 deletions
diff --git a/tests/function.err b/tests/function.err new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/function.err diff --git a/tests/function.in b/tests/function.in new file mode 100644 index 00000000..e533b25b --- /dev/null +++ b/tests/function.in @@ -0,0 +1,32 @@ +# vim: set filetype=fish: +# +# Test the `function` builtin + +# utility function +function show_ary -a name --no-scope-shadowing + set -l count (count $$name) + echo "\$$name: ($count)" + if test $count -gt 0 + for i in (seq $count) + echo "$i: '$$name[1][$i]'" + end + end +end + +# Test the -V flag +set -g foo 'global foo' +set -l foo 'local foo' +set bar one 'two 2' \t '' 3 +set baz +function frob -V foo -V bar -V baz + show_ary foo + show_ary bar + show_ary baz +end +echo "Testing -V" +frob +echo "Testing -V with changed variables" +set foo 'bad foo' +set bar 'bad bar' +set baz 'bad baz' +frob diff --git a/tests/function.out b/tests/function.out new file mode 100644 index 00000000..3fa70990 --- /dev/null +++ b/tests/function.out @@ -0,0 +1,20 @@ +Testing -V +$foo: (1) +1: 'local foo' +$bar: (5) +1: 'one' +2: 'two 2' +3: ' ' +4: '' +5: '3' +$baz: (0) +Testing -V with changed variables +$foo: (1) +1: 'local foo' +$bar: (5) +1: 'one' +2: 'two 2' +3: ' ' +4: '' +5: '3' +$baz: (0) diff --git a/tests/function.status b/tests/function.status new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/tests/function.status @@ -0,0 +1 @@ +0 |