MCPcopy Create free account
hub / github.com/github/gh-aw / TestVersionIsNewer

Function TestVersionIsNewer

pkg/cli/semver_test.go:136–170  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

134}
135
136func TestVersionIsNewer(t *testing.T) {
137 tests := []struct {
138 name string
139 version string
140 other string
141 want bool
142 }{
143 {"newer major", "v2.0.0", "v1.0.0", true},
144 {"older major", "v1.0.0", "v2.0.0", false},
145 {"newer minor", "v1.2.0", "v1.1.0", true},
146 {"older minor", "v1.1.0", "v1.2.0", false},
147 {"newer patch", "v1.0.2", "v1.0.1", true},
148 {"older patch", "v1.0.1", "v1.0.2", false},
149 {"same version", "v1.0.0", "v1.0.0", false},
150 {"release vs prerelease", "v1.0.0", "v1.0.0-beta", true},
151 {"prerelease vs release", "v1.0.0-beta", "v1.0.0", false},
152 {"same with prerelease", "v1.0.0-beta", "v1.0.0-beta", false},
153 }
154
155 for _, tt := range tests {
156 t.Run(tt.name, func(t *testing.T) {
157 v := parseVersion(tt.version)
158 other := parseVersion(tt.other)
159
160 if v == nil || other == nil {
161 t.Fatalf("failed to parse versions: %q or %q", tt.version, tt.other)
162 }
163
164 got := v.IsNewer(other)
165 if got != tt.want {
166 t.Errorf("(%q).IsNewer(%q) = %v, want %v", tt.version, tt.other, got, tt.want)
167 }
168 })
169 }
170}

Callers

nothing calls this directly

Calls 4

IsNewerMethod · 0.80
parseVersionFunction · 0.70
RunMethod · 0.45
ErrorfMethod · 0.45

Tested by

no test coverage detected