about summary refs log tree commit diff
path: root/Test
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2005-04-25 10:40:52 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2005-04-25 10:40:52 +0000
commit6114ee2fe31627d9570b458d403f28f0a08aeace (patch)
tree53251723aea678e355c2734f5a00366ab3a1be5a /Test
parent5b947bf671944cea660dc87f6b3cbea741b68b87 (diff)
downloadzsh-6114ee2fe31627d9570b458d403f28f0a08aeace.tar.gz
zsh-6114ee2fe31627d9570b458d403f28f0a08aeace.tar.xz
zsh-6114ee2fe31627d9570b458d403f28f0a08aeace.zip
Fix handling of metafied characters in trailing whitespace on read
Diffstat (limited to 'Test')
-rw-r--r--Test/B04read.ztst78
1 files changed, 78 insertions, 0 deletions
diff --git a/Test/B04read.ztst b/Test/B04read.ztst
new file mode 100644
index 000000000..d6b7ce0b1
--- /dev/null
+++ b/Test/B04read.ztst
@@ -0,0 +1,78 @@
+# Tests for the read builtin
+
+# Tested elsewhere:
+#  reading from a coprocess  A01grammar, A04redirect
+
+# Not tested:
+#  -c/-l/-n (options for compctl functions)
+#  -q/-s (needs a tty)
+
+%test
+
+ read <<<'hello world'
+ print $REPLY
+0:basic read command
+>hello world
+
+ read -A <<<'hello world'
+ print $reply[2]
+0:array read
+>world
+
+ read -k3 -u0 <<<foo:bar
+ print $REPLY
+0:read specified number of chars
+>foo
+
+ read -d: <<<foo:bar
+ print $REPLY
+0:read up to delimiter
+>foo
+
+ print foo:bar|IFS=: read -A
+ print $reply
+0:use different, IFS separator to array
+>foo bar
+
+ print -z hello world; read -z
+ print $REPLY
+0:read from editor buffer stack
+>hello world
+
+ unset REPLY
+ read -E <<<hello
+ print $REPLY
+0:read with echoing and assigning
+>hello
+>hello
+
+ unset REPLY
+ read -e <<<hello
+ print $REPLY
+0:read with echoing but assigning disabled
+>hello
+>
+
+ read -e -t <<<hello
+0:read with test first
+>hello
+
+ SECONDS=0
+ read -e -t 5 <<<hello
+ print $SECONDS
+0:read with timeout (no waiting should occur)
+>hello
+>0
+
+ print -n 'Testing the\0null hypothesis\0' |
+ while read -d $'\0' line; do print $line; done
+0:read with null delimiter
+>Testing the
+>null hypothesis
+
+# Note that trailing NULLs are not stripped even if they are in
+# $IFS; only whitespace characters contained in $IFS are stripped.
+ print -n $'Aaargh, I hate nulls.\0\0\0' | read line
+ print ${#line}
+0:read with trailing metafied characters
+>24