diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e050138..7cc556a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,5 +19,5 @@ jobs: sudo apt update sudo apt install zsh -y - - name: Test + - name: Run Tests run: ./test/git-open.test.zsh diff --git a/git-open.zsh b/git-open.zsh index bd4cb74..3a06196 100755 --- a/git-open.zsh +++ b/git-open.zsh @@ -26,11 +26,12 @@ git_get_repo_path() { repo_path='' if [[ $remote =~ ^git@ ]]; then - repo_path=$(echo "$remote" | sed -E 's/^git@[^:]+:([^:]+)\.git$/\1/') + repo_path=$(echo "$remote" | sed -E 's|^git@[^:]+:([^:]+)\.git$|\1|') + repo_path=$(echo "$repo_path" | sed -E 's|^git@[^:]+:([^:]+)$|\1|') elif [[ $remote =~ ^https?:// ]]; then - repo_path=$(echo "$remote" | sed -E 's|^https?://[^/]+/([^\.]+)\.git$|\1|') + repo_path=$(echo "$remote" | sed -E 's|^https?://[^/]+/([^\.]+)\.git$|\1|') + repo_path=$(echo "$repo_path" | sed -E 's|^https?://[^/]+/([^\.]+)$|\1|') fi - echo $repo_path } diff --git a/test/git-open.test.zsh b/test/git-open.test.zsh index fe3ff2e..724f88f 100755 --- a/test/git-open.test.zsh +++ b/test/git-open.test.zsh @@ -30,15 +30,18 @@ describe() { describe "git_open_project" -assert_value "https:/i/github.com/chenasraf/git-open" $(git_open_project) +assert_value "https://github.com/chenasraf/git-open" $(git_open_project) describe "git_get_remote" assert_value "git@github.com:chenasraf/git-open.git" $(git_get_remote) describe "git_get_repo_path" assert_value "chenasraf/git-open" $(git_get_repo_path $(git_get_remote)) +assert_value "chenasraf/git-open" $(git_get_repo_path "https://gitlab.com/chenasraf/git-open") assert_value "chenasraf/git-open" $(git_get_repo_path "https://gitlab.com/chenasraf/git-open.git") +assert_value "chenasraf/git-open" $(git_get_repo_path "https://bitbucket.org/chenasraf/git-open") assert_value "chenasraf/git-open" $(git_get_repo_path "https://bitbucket.org/chenasraf/git-open.git") +assert_value "chenasraf/git-open" $(git_get_repo_path "git@gitlab.com:chenasraf/git-open") assert_value "chenasraf/git-open" $(git_get_repo_path "git@gitlab.com:chenasraf/git-open.git") assert_value "chenasraf/git-open" $(git_get_repo_path "git@bitbucket.org:chenasraf/git-open.git")