git_test.go
1 // SPDX-FileCopyrightText: Amolith <amolith@secluded.site> 2 // 3 // SPDX-License-Identifier: Apache-2.0 4 5 package git 6 7 import ( 8 "testing" 9 ) 10 11 func TestStringifyRepo(t *testing.T) { 12 wantGitHub := "data/github.com/owner/repo" 13 wantSourceHut := "data/git.sr.ht/~owner/repo" 14 15 tests := []struct { 16 name string 17 input string 18 want string 19 }{ 20 { 21 name: "GitHubHTTP", 22 input: "http://github.com/owner/repo", 23 want: wantGitHub, 24 }, 25 { 26 name: "GitHubHTTPS", 27 input: "https://github.com/owner/repo", 28 want: wantGitHub, 29 }, 30 { 31 name: "GitHubSSH", 32 input: "git@github.com:owner/repo", 33 want: wantGitHub, 34 }, 35 { 36 name: "SourceHutHTTP", 37 input: "http://git.sr.ht/~owner/repo", 38 want: wantSourceHut, 39 }, 40 { 41 name: "SourceHutHTTPS", 42 input: "https://git.sr.ht/~owner/repo", 43 want: wantSourceHut, 44 }, 45 { 46 name: "SourceHutSSH", 47 input: "git@git.sr.ht:~owner/repo", 48 want: wantSourceHut, 49 }, 50 } 51 52 for _, test := range tests { 53 t.Run(test.name, func(t *testing.T) { 54 got, err := stringifyRepo(test.input) 55 if err != nil { 56 t.Errorf("stringifyRepo(%s) returned error: %v", test.input, err) 57 } 58 if got != test.want { 59 t.Errorf("stringifyRepo(%s) = %s, want %s", test.input, got, test.want) 60 } 61 }) 62 } 63 }