From b1d208574daf50210f7da69169d579ec181c5c0a Mon Sep 17 00:00:00 2001 From: Ekans Date: Sat, 16 Apr 2016 14:23:13 +0200 Subject: [PATCH] Use TrimSuffix instead of TrimRight to extract the repository path from the path of the git folder --- core/core.go | 2 +- core/core_test.go | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 core/core_test.go diff --git a/core/core.go b/core/core.go index 271b458..c7e8800 100644 --- a/core/core.go +++ b/core/core.go @@ -30,7 +30,7 @@ func CheckGitRepos(repos []string, err error) ([]string, error) { } for i, repo := range repos { - repos[i] = strings.TrimRight(repo, "/.git") + repos[i] = strings.TrimSuffix(repo, "/.git") } return repos, nil diff --git a/core/core_test.go b/core/core_test.go new file mode 100644 index 0000000..a977155 --- /dev/null +++ b/core/core_test.go @@ -0,0 +1,27 @@ +package core + +import ( + "reflect" + "testing" +) + +func TestCheckGitRepos(t *testing.T) { + cases := []testReposAreValid{ + {[]string{"repo1"}, []string{"repo1"}}, + {[]string{"bash-git-prompt"}, []string{"bash-git-prompt"}}, + } + for _, data := range cases { + result, err := CheckGitRepos(data.repos, nil) + if err != nil { + t.Errorf("Failed to check Git repos (%q) == %q, expected %q", data.repos, result, data.result) + } + if !reflect.DeepEqual(result, data.result) { + t.Errorf("Failed to check Git repos (%q) == %q, expected %q", data.repos, result, data.result) + } + } +} + +type testReposAreValid struct { + repos []string + result []string +}