Replace built-in shell array quoting with printf %q

This commit is contained in:
Tom "Ravi" Hale
2018-09-12 17:57:46 +07:00
parent 21d155776a
commit 80ec1ad2ad
4 changed files with 81 additions and 36 deletions

View File

@@ -16,9 +16,9 @@ source "$scmbDir/lib/scm_breeze.sh"
#-----------------------------------------------------------------------------
test__safe_eval() {
assertEquals "runs eval with simple words" "'one' 'two' 'three'" "$(_safe_eval token_quote one two three)"
assertEquals "quotes spaces" "'a' 'b c' 'd'" "$(_safe_eval token_quote a b\ c d)"
assertEquals "quotes special chars" "'a b' '\$dollar' '\\slash' 'c d'" "$(_safe_eval token_quote a\ b '$dollar' '\slash' c\ d)"
assertEquals "runs eval with simple words" 'one two three' "$(_safe_eval token_quote one two three)"
assertEquals "quotes spaces" 'a b\ c d' "$(_safe_eval token_quote a b\ c d)"
assertEquals "quotes special chars" 'a\ b \$dollar \\slash c\ d' "$(_safe_eval token_quote a\ b '$dollar' '\slash' c\ d)"
}