@@ -24,115 +24,117 @@ func TestCmd(t *testing.T) {
24
24
ver := func () * semver.Version { return semver .MustParse ("1.2.3-pre+123" ) }
25
25
t .Run (currentCmd .FullCommand (), func (t * testing.T ) {
26
26
cmd := currentCmd .FullCommand ()
27
- t .Run ("no meta" , func (t * testing.T ) {
28
- is := is .New (t )
29
- v , err := nextVersion (cmd , ver (), "v1.2.3" , "" , "" )
30
- is .NoErr (err )
31
- is .Equal ("1.2.3" , v .String ())
32
- })
33
- t .Run ("build" , func (t * testing.T ) {
27
+ t .Run ("version has meta" , func (t * testing.T ) {
34
28
is := is .New (t )
35
- v , err := nextVersion (cmd , ver (), "v1.2.3" , "" , "124" )
29
+ v , err := nextVersion (cmd , ver (), "v1.2.3" , "" , "" , false )
36
30
is .NoErr (err )
37
- is .Equal ("1.2.3+124 " , v .String ())
31
+ is .Equal ("1.2.3-pre+123 " , v .String ())
38
32
})
39
- t .Run ("prerel" , func (t * testing.T ) {
40
- is := is .New (t )
41
- v , err := nextVersion (cmd , ver (), "v1.2.3" , "alpha.1" , "" )
42
- is .NoErr (err )
43
- is .Equal ("1.2.3-alpha.1" , v .String ())
44
- })
45
- t .Run ("all meta" , func (t * testing.T ) {
33
+ t .Run ("version is clean" , func (t * testing.T ) {
46
34
is := is .New (t )
47
- v , err := nextVersion (cmd , ver ( ), "v1.2.3" , "alpha.2 " , "125" )
35
+ v , err := nextVersion (cmd , semver . MustParse ( "v1.2.3" ), "v1.2.3" , "doesnt matter " , "nope" , true )
48
36
is .NoErr (err )
49
- is .Equal ("1.2.3-alpha.2+125 " , v .String ())
37
+ is .Equal ("1.2.3" , v .String ())
50
38
})
51
39
})
52
40
53
41
t .Run (minorCmd .FullCommand (), func (t * testing.T ) {
54
42
cmd := minorCmd .FullCommand ()
55
43
t .Run ("no meta" , func (t * testing.T ) {
56
44
is := is .New (t )
57
- v , err := nextVersion (cmd , ver (), "v1.2.3" , "" , "" )
45
+ v , err := nextVersion (cmd , ver (), "v1.2.3" , "" , "" , false )
58
46
is .NoErr (err )
59
47
is .Equal ("1.3.0" , v .String ())
60
48
})
61
49
t .Run ("build" , func (t * testing.T ) {
62
50
is := is .New (t )
63
- v , err := nextVersion (cmd , ver (), "v1.2.3" , "" , "124" )
51
+ v , err := nextVersion (cmd , ver (), "v1.2.3" , "" , "124" , false )
64
52
is .NoErr (err )
65
53
is .Equal ("1.3.0+124" , v .String ())
66
54
})
67
55
t .Run ("prerel" , func (t * testing.T ) {
68
56
is := is .New (t )
69
- v , err := nextVersion (cmd , ver (), "v1.2.3" , "alpha.1" , "" )
57
+ v , err := nextVersion (cmd , ver (), "v1.2.3" , "alpha.1" , "" , false )
70
58
is .NoErr (err )
71
59
is .Equal ("1.3.0-alpha.1" , v .String ())
72
60
})
73
61
t .Run ("all meta" , func (t * testing.T ) {
74
62
is := is .New (t )
75
- v , err := nextVersion (cmd , ver (), "v1.2.3" , "alpha.2" , "125" )
63
+ v , err := nextVersion (cmd , ver (), "v1.2.3" , "alpha.2" , "125" , false )
76
64
is .NoErr (err )
77
65
is .Equal ("1.3.0-alpha.2+125" , v .String ())
78
66
})
79
67
})
68
+
80
69
t .Run (patchCmd .FullCommand (), func (t * testing.T ) {
81
70
cmd := patchCmd .FullCommand ()
82
71
t .Run ("no meta" , func (t * testing.T ) {
83
72
is := is .New (t )
84
- v , err := nextVersion (cmd , semver .MustParse ("1.2.3" ), "v1.2.3" , "" , "" )
73
+ v , err := nextVersion (cmd , semver .MustParse ("1.2.3" ), "v1.2.3" , "" , "" , false )
85
74
is .NoErr (err )
86
75
is .Equal ("1.2.4" , v .String ())
87
76
})
88
- t .Run ("original had no meta" , func (t * testing.T ) {
77
+ t .Run ("previous had meta" , func (t * testing.T ) {
89
78
is := is .New (t )
90
- v , err := nextVersion (cmd , semver .MustParse ("1.2.3-alpha.1+1" ), "v1.2.3" , "" , "" )
79
+ v , err := nextVersion (cmd , semver .MustParse ("1.2.3-alpha.1+1" ), "v1.2.3" , "" , "" , false )
91
80
is .NoErr (err )
92
81
is .Equal ("1.2.3" , v .String ())
93
82
})
83
+ t .Run ("previous had meta, force" , func (t * testing.T ) {
84
+ is := is .New (t )
85
+ v , err := nextVersion (cmd , semver .MustParse ("1.2.3-alpha.1+1" ), "v1.2.3" , "" , "" , true )
86
+ is .NoErr (err )
87
+ is .Equal ("1.2.4" , v .String ())
88
+ })
89
+ t .Run ("previous had meta, force, add meta" , func (t * testing.T ) {
90
+ is := is .New (t )
91
+ v , err := nextVersion (cmd , semver .MustParse ("1.2.3-alpha.1+1" ), "v1.2.3-alpha.1+1" , "alpha.2" , "10" , true )
92
+ is .NoErr (err )
93
+ is .Equal ("1.2.4-alpha.2+10" , v .String ())
94
+ })
94
95
t .Run ("build" , func (t * testing.T ) {
95
96
is := is .New (t )
96
- v , err := nextVersion (cmd , semver .MustParse ("1.2.3" ), "v1.2.3" , "" , "124" )
97
+ v , err := nextVersion (cmd , semver .MustParse ("1.2.3" ), "v1.2.3" , "" , "124" , false )
97
98
is .NoErr (err )
98
99
is .Equal ("1.2.4+124" , v .String ())
99
100
})
100
101
t .Run ("prerel" , func (t * testing.T ) {
101
102
is := is .New (t )
102
- v , err := nextVersion (cmd , semver .MustParse ("1.2.3" ), "v1.2.3" , "alpha.1" , "" )
103
+ v , err := nextVersion (cmd , semver .MustParse ("1.2.3" ), "v1.2.3" , "alpha.1" , "" , false )
103
104
is .NoErr (err )
104
105
is .Equal ("1.2.4-alpha.1" , v .String ())
105
106
})
106
107
t .Run ("all meta" , func (t * testing.T ) {
107
108
is := is .New (t )
108
- v , err := nextVersion (cmd , semver .MustParse ("1.2.3" ), "v1.2.3" , "alpha.2" , "125" )
109
+ v , err := nextVersion (cmd , semver .MustParse ("1.2.3" ), "v1.2.3" , "alpha.2" , "125" , false )
109
110
is .NoErr (err )
110
111
is .Equal ("1.2.4-alpha.2+125" , v .String ())
111
112
})
112
113
})
114
+
113
115
t .Run (majorCmd .FullCommand (), func (t * testing.T ) {
114
116
cmd := majorCmd .FullCommand ()
115
117
t .Run ("no meta" , func (t * testing.T ) {
116
118
is := is .New (t )
117
- v , err := nextVersion (cmd , ver (), "v1.2.3" , "" , "" )
119
+ v , err := nextVersion (cmd , ver (), "v1.2.3" , "" , "" , false )
118
120
is .NoErr (err )
119
121
is .Equal ("2.0.0" , v .String ())
120
122
})
121
123
t .Run ("build" , func (t * testing.T ) {
122
124
is := is .New (t )
123
- v , err := nextVersion (cmd , ver (), "v1.2.3" , "" , "124" )
125
+ v , err := nextVersion (cmd , ver (), "v1.2.3" , "" , "124" , false )
124
126
is .NoErr (err )
125
127
is .Equal ("2.0.0+124" , v .String ())
126
128
})
127
129
t .Run ("prerel" , func (t * testing.T ) {
128
130
is := is .New (t )
129
- v , err := nextVersion (cmd , ver (), "v1.2.3" , "alpha.1" , "" )
131
+ v , err := nextVersion (cmd , ver (), "v1.2.3" , "alpha.1" , "" , false )
130
132
is .NoErr (err )
131
133
is .Equal ("2.0.0-alpha.1" , v .String ())
132
134
})
133
135
t .Run ("all meta" , func (t * testing.T ) {
134
136
is := is .New (t )
135
- v , err := nextVersion (cmd , ver (), "v1.2.3" , "alpha.2" , "125" )
137
+ v , err := nextVersion (cmd , ver (), "v1.2.3" , "alpha.2" , "125" , false )
136
138
is .NoErr (err )
137
139
is .Equal ("2.0.0-alpha.2+125" , v .String ())
138
140
})
@@ -141,12 +143,12 @@ func TestCmd(t *testing.T) {
141
143
t .Run ("errors" , func (t * testing.T ) {
142
144
t .Run ("invalid build" , func (t * testing.T ) {
143
145
is := is .New (t )
144
- _ , err := nextVersion (minorCmd .FullCommand (), semver .MustParse ("1.2.3" ), "v1.2.3" , "" , "+125" )
146
+ _ , err := nextVersion (minorCmd .FullCommand (), semver .MustParse ("1.2.3" ), "v1.2.3" , "" , "+125" , false )
145
147
is .True (err != nil )
146
148
})
147
149
t .Run ("invalid prerelease" , func (t * testing.T ) {
148
150
is := is .New (t )
149
- _ , err := nextVersion (minorCmd .FullCommand (), semver .MustParse ("1.2.3" ), "v1.2.3" , "+aaa" , "" )
151
+ _ , err := nextVersion (minorCmd .FullCommand (), semver .MustParse ("1.2.3" ), "v1.2.3" , "+aaa" , "" , false )
150
152
is .True (err != nil )
151
153
})
152
154
})
0 commit comments