diff --git a/libexec/git-elegant-deliver-work b/libexec/git-elegant-deliver-work index ef4f5fa..b3c2af9 100644 --- a/libexec/git-elegant-deliver-work +++ b/libexec/git-elegant-deliver-work @@ -43,7 +43,9 @@ MESSAGE --open-urls-if-possible() { type open >/dev/null 2>&1 || { echo "${1}"; return 0; } for line in ${1}; do - [[ ${line} =~ ^http(.+) ]] && open ${line} + if [[ ${line} =~ (^http)(.+) ]]; then + open ${line} + fi done } diff --git a/tests/git-elegant-deliver-work.bats b/tests/git-elegant-deliver-work.bats index f848d08..9fd0c18 100644 --- a/tests/git-elegant-deliver-work.bats +++ b/tests/git-elegant-deliver-work.bats @@ -65,3 +65,11 @@ teardown() { check git-elegant deliver-work [[ "${status}" -eq 23 ]] } + +@test "'deliver-work': exit 0 if URls are not present in the push output" { + repo "git checkout -b feature1" + fake-pass "git push --set-upstream --force origin feature1:feature1" "Branch 'workflows' set up to track remote branch 'workflows' from 'origin'." + fake "open https://pull/new/some" 23 + check git-elegant deliver-work + [[ "${status}" -eq 0 ]] +}