fix comma quoting in tup/tupx by quoting all commas

This commit is contained in:
tpoindex 2019-09-11 20:17:45 -06:00 committed by Sławomir Śledź
parent 20242e1d3f
commit b40adbb643
2 changed files with 6 additions and 3 deletions

View file

@ -262,7 +262,7 @@ tup() {
read arg
tup $arg
else
list "$@" | map lambda x . 'echo ${x/,/u002c}' | join , '(' ')'
list "$@" | map lambda x . 'echo ${x//,/u002c}' | join , '(' ')'
fi
}
@ -274,7 +274,7 @@ tupx() {
else
local n=$1
shift
echo "$@" | stripl '(' | stripr ')' | cut -d',' -f${n} | tr ',' '\n' | map lambda x . 'echo ${x/u002c/,}'
echo "$@" | stripl '(' | stripr ')' | cut -d',' -f${n} | tr ',' '\n' | map lambda x . 'echo ${x//u002c/,}'
fi
}

View file

@ -9,6 +9,7 @@ testTupIfOneElement() {
assertEquals '(")' $(tup '"')
assertEquals "(')" $(tup "'")
assertEquals "(u002c)" $(tup ",")
assertEquals "(u002cu002c)" $(tup ",,")
assertEquals "(()" $(tup "(")
assertEquals "())" $(tup ")")
}
@ -38,6 +39,7 @@ testTupxIfZeroIndex() {
testTupxIfSpecialChars() {
assertEquals ',' "$(tup ',' | tupx 1)"
assertEquals ',,' "$(tup ',,' | tupx 1)"
assertEquals '(' "$(tup '(' | tupx 1)"
assertEquals ')' "$(tup ')' | tupx 1)"
assertEquals '()' "$(tup '()' | tupx 1)"
@ -45,6 +47,7 @@ testTupxIfSpecialChars() {
assertEquals '(' "$(tup '(' '(' | tupx 1)"
assertEquals ')' "$(tup ')' ')' | tupx 1)"
assertEquals ',' "$(tup 'u002c' | tupx 1)"
assertEquals ',,' "$(tup 'u002cu002c' | tupx 1)"
}
testTupxRange() {
@ -66,4 +69,4 @@ testTupr() {
assertEquals '5' "$(tup 5 | tupr)"
}
. ./shunit2-init.sh
. ./shunit2-init.sh