github.com/ungtb10d/cli/v2@v2.0.0-20221110210412-98537dd9d6a1/pkg/cmd/repo/shared/repo_test.go (about) 1 package shared 2 3 import ( 4 "testing" 5 ) 6 7 func TestNormalizeRepoName(t *testing.T) { 8 // confirmed using GitHub.com/new 9 tests := []struct { 10 LocalName string 11 NormalizedName string 12 }{ 13 { 14 LocalName: "cli", 15 NormalizedName: "cli", 16 }, 17 { 18 LocalName: "cli.git", 19 NormalizedName: "cli", 20 }, 21 { 22 LocalName: "@-#$^", 23 NormalizedName: "---", 24 }, 25 { 26 LocalName: "[cli]", 27 NormalizedName: "-cli-", 28 }, 29 { 30 LocalName: "Hello World, I'm a new repo!", 31 NormalizedName: "Hello-World-I-m-a-new-repo-", 32 }, 33 { 34 LocalName: " @E3H*(#$#_$-ZVp,n.7lGq*_eMa-(-zAZSJYg!", 35 NormalizedName: "-E3H-_--ZVp-n.7lGq-_eMa---zAZSJYg-", 36 }, 37 { 38 LocalName: "I'm a crazy .git repo name .git.git .git", 39 NormalizedName: "I-m-a-crazy-.git-repo-name-.git.git-", 40 }, 41 } 42 for _, tt := range tests { 43 output := NormalizeRepoName(tt.LocalName) 44 if output != tt.NormalizedName { 45 t.Errorf("Expected %q, got %q", tt.NormalizedName, output) 46 } 47 } 48 }