Merge pull request #171 from jsravn/master

Fix quoting of semicolon and pipe
This commit is contained in:
Nathan Broadbent
2015-05-10 23:43:12 +07:00
2 changed files with 11 additions and 8 deletions

View File

@@ -158,7 +158,7 @@ _print_path() {
# Execute a command with expanded args, e.g. Delete files 6 to 12: $ ge rm 6-12 # Execute a command with expanded args, e.g. Delete files 6 to 12: $ ge rm 6-12
# Fails if command is a number or range (probably not worth fixing) # Fails if command is a number or range (probably not worth fixing)
exec_scmb_expand_args() { exec_scmb_expand_args() {
eval "$(scmb_expand_args "$@" | sed -e "s/\([][()<>^ \"']\)/"'\\\1/g')" eval "$(scmb_expand_args "$@" | sed -e "s/\([][|;()<>^ \"']\)/"'\\\1/g')"
} }
# Clear numbered env variables # Clear numbered env variables

View File

@@ -60,6 +60,10 @@ test_scmb_expand_args() {
"$(scmb_expand_args -ma "Test Commit Message" "Unquoted")" "$(scmb_expand_args -ma "Test Commit Message" "Unquoted")"
} }
test_command_wrapping_escapes_special_characters() {
assertEquals 'should escape | the pipe' "$(exec_scmb_expand_args echo "should escape | the pipe")"
assertEquals 'should escape ; the semicolon' "$(exec_scmb_expand_args echo "should escape ; the semicolon")"
}
test_git_status_shortcuts() { test_git_status_shortcuts() {
setupTestRepo setupTestRepo
@@ -312,4 +316,3 @@ test_adding_files_with_spaces() {
# load and run shUnit2 # load and run shUnit2
source "$scmbDir/test/support/shunit2" source "$scmbDir/test/support/shunit2"