package repo import ( "testing" ) func TestIsRemote(t *testing.T) { repos := []struct { path string remote bool }{ {"git://github.com/foo/far", true}, {"git://github.com/foo/far.git", true}, {"git@github.com:foo/far", true}, {"git@github.com:foo/far.git", true}, {"http://github.com/foo/far.git", true}, {"https://github.com/foo/far.git", true}, {"ssh://baz.com/foo/far.git", true}, {"/var/lib/src", false}, {"/home/ubuntu/src", false}, {"src", false}, } for _, r := range repos { repo := Repo{Path: r.path} if remote := repo.IsRemote(); remote != r.remote { t.Errorf("IsRemote %s was %v, expected %v", r.path, remote, r.remote) } } } func TestIsGit(t *testing.T) { repos := []struct { path string remote bool }{ {"git://github.com/foo/far", true}, {"git://github.com/foo/far.git", true}, {"git@github.com:foo/far", true}, {"git@github.com:foo/far.git", true}, {"http://github.com/foo/far.git", true}, {"https://github.com/foo/far.git", true}, {"ssh://baz.com/foo/far.git", true}, {"svn://gcc.gnu.org/svn/gcc/branches/gccgo", false}, {"https://code.google.com/p/go", false}, } for _, r := range repos { repo := Repo{Path: r.path} if remote := repo.IsGit(); remote != r.remote { t.Errorf("IsGit %s was %v, expected %v", r.path, remote, r.remote) } } }