add a much more crazy test now, for several occurences of escaped and
unescaped and variabled patterns and slashes
This commit is contained in:
parent
dbae22571e
commit
84debe1e7d
84
check.t
84
check.t
|
@ -1,4 +1,4 @@
|
||||||
# $MirOS: src/bin/mksh/check.t,v 1.156 2008/03/01 21:24:58 tg Rel $
|
# $MirOS: src/bin/mksh/check.t,v 1.157 2008/03/01 22:58:22 tg Rel $
|
||||||
# $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $
|
# $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $
|
||||||
# $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $
|
# $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $
|
||||||
# $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $
|
# $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $
|
||||||
|
@ -1120,19 +1120,77 @@ description:
|
||||||
stdin:
|
stdin:
|
||||||
pfx=/home/user
|
pfx=/home/user
|
||||||
wd='$pfx/tmp'
|
wd='$pfx/tmp'
|
||||||
echo ${wd/#$pfx/~}
|
echo 1: ${wd/#$pfx/~}
|
||||||
echo ${wd/#\$pfx/~}
|
echo 2: ${wd/#\$pfx/~}
|
||||||
echo ${wd/#"$pfx"/~}
|
echo 3: ${wd/#"$pfx"/~}
|
||||||
echo ${wd/#'$pfx'/~}
|
echo 4: ${wd/#'$pfx'/~}
|
||||||
echo ${wd/#"\$pfx"/~}
|
echo 5: ${wd/#"\$pfx"/~}
|
||||||
echo ${wd/#'\$pfx'/~}
|
echo 6: ${wd/#'\$pfx'/~}
|
||||||
|
ts='a/ba/b$tp$tp_a/b$tp_*(a/b)_*($tp)'
|
||||||
|
tp=a/b
|
||||||
|
tr=c/d
|
||||||
|
[[ -n $BASH_VERSION ]] && shopt -s extglob
|
||||||
|
echo 7: ${ts/a\/b/$tr}
|
||||||
|
echo 8: ${ts/a\/b/\$tr}
|
||||||
|
echo 9: ${ts/$tp/$tr}
|
||||||
|
echo 10: ${ts/\$tp/$tr}
|
||||||
|
echo 11: ${ts/\\$tp/$tr}
|
||||||
|
echo 12: ${ts/$tp/c/d}
|
||||||
|
echo 13: ${ts/$tp/c\/d}
|
||||||
|
echo 14: ${ts/$tp/c\\/d}
|
||||||
|
echo 15: ${ts/+(a\/b)/$tr}
|
||||||
|
echo 16: ${ts/+(a\/b)/\$tr}
|
||||||
|
echo 17: ${ts/+($tp)/$tr}
|
||||||
|
echo 18: ${ts/+($tp)/c/d}
|
||||||
|
echo 19: ${ts/+($tp)/c\/d}
|
||||||
|
echo 25: ${ts//a\/b/$tr}
|
||||||
|
echo 26: ${ts//a\/b/\$tr}
|
||||||
|
echo 27: ${ts//$tp/$tr}
|
||||||
|
echo 28: ${ts//$tp/c/d}
|
||||||
|
echo 29: ${ts//$tp/c\/d}
|
||||||
|
echo 30: ${ts//+(a\/b)/$tr}
|
||||||
|
echo 31: ${ts//+(a\/b)/\$tr}
|
||||||
|
echo 32: ${ts//+($tp)/$tr}
|
||||||
|
echo 33: ${ts//+($tp)/c/d}
|
||||||
|
echo 34: ${ts//+($tp)/c\/d}
|
||||||
|
tp="+($tp)"
|
||||||
|
echo 40: ${ts/$tp/$tr}
|
||||||
|
echo 41: ${ts//$tp/$tr}
|
||||||
expected-stdout:
|
expected-stdout:
|
||||||
$pfx/tmp
|
1: $pfx/tmp
|
||||||
~/tmp
|
2: ~/tmp
|
||||||
$pfx/tmp
|
3: $pfx/tmp
|
||||||
~/tmp
|
4: ~/tmp
|
||||||
~/tmp
|
5: ~/tmp
|
||||||
~/tmp
|
6: ~/tmp
|
||||||
|
7: c/da/b$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
8: $tra/b$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
9: c/da/b$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
10: a/ba/bc/d$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
11: c/da/b$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
12: c/da/b$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
13: c/da/b$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
14: c\/da/b$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
15: c/d$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
16: $tr$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
17: c/d$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
18: c/d$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
19: c/d$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
25: c/dc/d$tp$tp_c/d$tp_*(c/d)_*($tp)
|
||||||
|
26: $tr$tr$tp$tp_$tr$tp_*($tr)_*($tp)
|
||||||
|
27: c/dc/d$tp$tp_c/d$tp_*(c/d)_*($tp)
|
||||||
|
28: c/dc/d$tp$tp_c/d$tp_*(c/d)_*($tp)
|
||||||
|
29: c/dc/d$tp$tp_c/d$tp_*(c/d)_*($tp)
|
||||||
|
30: c/d$tp$tp_c/d$tp_*(c/d)_*($tp)
|
||||||
|
31: $tr$tp$tp_$tr$tp_*($tr)_*($tp)
|
||||||
|
32: c/d$tp$tp_c/d$tp_*(c/d)_*($tp)
|
||||||
|
33: c/d$tp$tp_c/d$tp_*(c/d)_*($tp)
|
||||||
|
34: c/d$tp$tp_c/d$tp_*(c/d)_*($tp)
|
||||||
|
40: a/ba/b$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
41: a/ba/b$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
# This is what GNU bash does:
|
||||||
|
# 40: c/d$tp$tp_a/b$tp_*(a/b)_*($tp)
|
||||||
|
# 41: c/d$tp$tp_c/d$tp_*(c/d)_*($tp)
|
||||||
---
|
---
|
||||||
name: glob-bad-1
|
name: glob-bad-1
|
||||||
description:
|
description:
|
||||||
|
|
Loading…
Reference in New Issue