| package parser |
| |
| import "testing" |
| |
| func Test_getModulePath(t *testing.T) { |
| tests := map[string]struct { |
| goModPath string |
| want string |
| }{ |
| "valid go.mod without comments and deps": { |
| goModPath: "./testdata/default.go.mod", |
| want: "example.com/user/project", |
| }, |
| "valid go.mod with comments and without deps": { |
| goModPath: "./testdata/comments.go.mod", |
| want: "example.com/user/project", |
| }, |
| "valid go.mod with comments and deps": { |
| goModPath: "./testdata/comments_deps.go.mod", |
| want: "example.com/user/project", |
| }, |
| "actual easyjson go.mod": { |
| goModPath: "../go.mod", |
| want: "github.com/mailru/easyjson", |
| }, |
| "invalid go.mod with missing module": { |
| goModPath: "./testdata/missing_module.go", |
| want: "", |
| }, |
| } |
| for name := range tests { |
| tt := tests[name] |
| t.Run(name, func(t *testing.T) { |
| if got := getModulePath(tt.goModPath); got != tt.want { |
| t.Errorf("getModulePath() = %v, want %v", got, tt.want) |
| } |
| }) |
| } |
| } |