package version import ( "testing" ) func TestLastSemanticVersion(t *testing.T) { testCases := []struct { in, out string }{ {"v1.3-11+abcdef-dirty", "v1.3"}, {"v1.3-11+abcdef", "v1.3"}, {"v1.3-11", "v1.3-11"}, {"v1.3.0+abcdef", "v1.3.0"}, {"v1.3+abcdef", "v1.3"}, {"v1.3.0-alpha.1", "v1.3.0-alpha.1"}, {"v1.3.0-alpha.1-dirty", "v1.3.0-alpha.1"}, {"v1.3.0-alpha.1+abc-dirty", "v1.3.0-alpha.1+abc"}, {"v1.3.0-alpha.1+abcdef-dirty", "v1.3.0-alpha.1"}, } for _, test := range testCases { out := Info{GitVersion: test.in}.LastSemanticVersion() if out != test.out { t.Errorf("expected %s for %s, got %s", test.out, test.in, out) } } }