| // Copyright 2020 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package modload_test |
| |
| import ( |
| "testing" |
| |
| "cmd/go/internal/modload" |
| ) |
| |
| func TestReqsMax(t *testing.T) { |
| type testCase struct { |
| a, b, want string |
| } |
| reqs := modload.Reqs() |
| for _, tc := range []testCase{ |
| {a: "v0.1.0", b: "v0.2.0", want: "v0.2.0"}, |
| {a: "v0.2.0", b: "v0.1.0", want: "v0.2.0"}, |
| {a: "", b: "v0.1.0", want: ""}, // "" is Target.Version |
| {a: "v0.1.0", b: "", want: ""}, |
| {a: "none", b: "v0.1.0", want: "v0.1.0"}, |
| {a: "v0.1.0", b: "none", want: "v0.1.0"}, |
| {a: "none", b: "", want: ""}, |
| {a: "", b: "none", want: ""}, |
| } { |
| max := reqs.Max(tc.a, tc.b) |
| if max != tc.want { |
| t.Errorf("Reqs().Max(%q, %q) = %q; want %q", tc.a, tc.b, max, tc.want) |
| } |
| } |
| } |