summary refs log tree commit diff
path: root/bin/cash/tests/parser/heredoc2.0
diff options
context:
space:
mode:
Diffstat (limited to 'bin/cash/tests/parser/heredoc2.0')
-rw-r--r--bin/cash/tests/parser/heredoc2.039
1 files changed, 39 insertions, 0 deletions
diff --git a/bin/cash/tests/parser/heredoc2.0 b/bin/cash/tests/parser/heredoc2.0
new file mode 100644
index 00000000..e910ba27
--- /dev/null
+++ b/bin/cash/tests/parser/heredoc2.0
@@ -0,0 +1,39 @@
+# $FreeBSD: releng/12.0/bin/sh/tests/parser/heredoc2.0 211405 2010-08-16 21:14:49Z jilles $
+
+failures=0
+
+check() {
+	if ! eval "[ $* ]"; then
+		echo "Failed: $*"
+		: $((failures += 1))
+	fi
+}
+
+s='ast*que?non' sq=\' dq=\"
+
+check '"$(cat <<EOF
+${s}
+EOF
+)" = "ast*que?non"'
+
+check '"$(cat <<EOF
+${s+'$sq'x'$sq'}
+EOF
+)" = ${sq}x${sq}'
+
+check '"$(cat <<EOF
+${s#ast}
+EOF
+)" = "*que?non"'
+
+check '"$(cat <<EOF
+${s##"ast"}
+EOF
+)" = "*que?non"'
+
+check '"$(cat <<EOF
+${s##'$sq'ast'$sq'}
+EOF
+)" = "*que?non"'
+
+exit $((failures != 0))