@@ -7,31 +7,33 @@ func TestParse(t *testing.T) {
77 v string
88 major int
99 minor int
10+ patch int
1011 wantErr bool
1112 }{
12- {"" , 0 , 0 , true },
13- {"go" , 0 , 0 , true },
14- {"go1" , 0 , 0 , true },
15- {"go.0" , 0 , 0 , true },
16- {"go1.0" , 1 , 0 , false },
17- {"go1.1" , 1 , 1 , false },
18- {"go1.23" , 1 , 23 , false },
19- {"go1.23.5" , 1 , 23 , false },
20- {"go1.23.5-rc6" , 1 , 23 , false },
21- {"go2.0" , 2 , 0 , false },
13+ {"" , 0 , 0 , 0 , true },
14+ {"go" , 0 , 0 , 0 , true },
15+ {"go1" , 0 , 0 , 0 , true },
16+ {"go.0" , 0 , 0 , 0 , true },
17+ {"go1.0" , 1 , 0 , 0 , false },
18+ {"go1.1" , 1 , 1 , 0 , false },
19+ {"go1.23" , 1 , 23 , 0 , false },
20+ {"go1.23.5" , 1 , 23 , 5 , false },
21+ {"go1.23.5-rc6" , 1 , 23 , 5 , false },
22+ {"go2.0" , 2 , 0 , 0 , false },
23+ {"go2.0.15" , 2 , 0 , 15 , false },
2224 }
2325 for _ , tt := range tests {
2426 t .Run (tt .v , func (t * testing.T ) {
25- major , minor , err := Parse (tt .v )
27+ major , minor , patch , err := Parse (tt .v )
2628 if err == nil && tt .wantErr {
2729 t .Errorf ("Parse(%q): expected err != nil" , tt .v )
2830 }
2931 if err != nil && ! tt .wantErr {
3032 t .Errorf ("Parse(%q): expected err == nil" , tt .v )
3133 }
32- if major != tt .major || minor != tt .minor {
33- t .Errorf ("Parse(%q): expected %d, %d, nil; got %d, %d, %v" ,
34- tt .v , tt .major , tt .minor , major , minor , err )
34+ if major != tt .major || minor != tt .minor || patch != tt . patch {
35+ t .Errorf ("Parse(%q): expected %d, %d, %d, nil; got %d, %d, %d, %v" ,
36+ tt .v , tt .major , tt .minor , tt . patch , major , minor , patch , err )
3537 }
3638 })
3739 }
@@ -84,7 +86,8 @@ func TestCompare(t *testing.T) {
8486 {"go1.1.0" , "go1.2.0" , - 1 },
8587 {"go1.2.0" , "go1.1.0" , 1 },
8688 {"go1.2.0" , "go2.3.0" , - 1 },
87- // {"go1.23.2", "go1.23.10", -1}, // FIXME: parse patch number
89+ {"go1.23.2" , "go1.23.10" , - 1 },
90+ {"go0.1.22" , "go1.23.101" , - 1 },
8891 }
8992 for _ , tt := range tests {
9093 t .Run (tt .a + " " + tt .b , func (t * testing.T ) {
0 commit comments