@@ -68,14 +68,15 @@ describe('PrereleaseVersioningStrategy', () => {
6868 for ( const old in expectedBumps ) {
6969 const expected = expectedBumps [ old ] ;
7070 it ( `can bump ${ old } to ${ expected } ` , async ( ) => {
71- const strategy = new PrereleaseVersioningStrategy ( ) ;
71+ const strategy = new PrereleaseVersioningStrategy ( { prerelease : true } ) ;
7272 const oldVersion = Version . parse ( old ) ;
7373 const newVersion = await strategy . bump ( oldVersion , commits ) ;
7474 expect ( newVersion . toString ( ) ) . to . equal ( expected ) ;
7575 } ) ;
7676 }
7777 it ( 'can bump a minor pre major for breaking change' , async ( ) => {
7878 const strategy = new PrereleaseVersioningStrategy ( {
79+ prerelease : true ,
7980 bumpMinorPreMajor : true ,
8081 } ) ;
8182 const oldVersion = Version . parse ( '0.1.2' ) ;
@@ -109,6 +110,7 @@ describe('PrereleaseVersioningStrategy', () => {
109110 const expected = expectedBumps [ old ] ;
110111 it ( `can bump ${ old } to ${ expected } ` , async ( ) => {
111112 const strategy = new PrereleaseVersioningStrategy ( {
113+ prerelease : true ,
112114 prereleaseType : 'beta' ,
113115 } ) ;
114116 const oldVersion = Version . parse ( old ) ;
@@ -118,6 +120,7 @@ describe('PrereleaseVersioningStrategy', () => {
118120 }
119121 it ( 'can bump a minor pre major for breaking change' , async ( ) => {
120122 const strategy = new PrereleaseVersioningStrategy ( {
123+ prerelease : true ,
121124 bumpMinorPreMajor : true ,
122125 prereleaseType : 'beta' ,
123126 } ) ;
@@ -126,6 +129,29 @@ describe('PrereleaseVersioningStrategy', () => {
126129 expect ( newVersion . toString ( ) ) . to . equal ( '0.2.0-beta' ) ;
127130 } ) ;
128131 } ) ;
132+ describe ( 'without prerelease property' , ( ) => {
133+ const expectedBumps : Record < string , string > = {
134+ '1.2.3' : '2.0.0' ,
135+ // beta01 indicates that there had to be a breaking change with prerelease=true.
136+ // e.g. coong from 0.1.0 -> feat! (prerelease=True) -> 1.0.0-beta01 -> prerelease=False -> 1.0.0
137+ '1.0.0-beta01' : '1.0.0' ,
138+ '1.1.0-beta01' : '2.0.0' ,
139+ '1.3.0-alpha' : '2.0.0' ,
140+ '1.3.0-alpha.1' : '2.0.0' ,
141+ } ;
142+ for ( const old in expectedBumps ) {
143+ const expected = expectedBumps [ old ] ;
144+ it ( `can bump ${ old } to ${ expected } ` , async ( ) => {
145+ const strategy = new PrereleaseVersioningStrategy ( {
146+ prerelease : false ,
147+ prereleaseType : 'beta' ,
148+ } ) ;
149+ const oldVersion = Version . parse ( old ) ;
150+ const newVersion = await strategy . bump ( oldVersion , commits ) ;
151+ expect ( newVersion . toString ( ) ) . to . equal ( expected ) ;
152+ } ) ;
153+ }
154+ } ) ;
129155 } ) ;
130156
131157 describe ( 'with a feature' , ( ) => {
@@ -177,14 +203,15 @@ describe('PrereleaseVersioningStrategy', () => {
177203 for ( const old in expectedBumps ) {
178204 const expected = expectedBumps [ old ] ;
179205 it ( `can bump ${ old } to ${ expected } ` , async ( ) => {
180- const strategy = new PrereleaseVersioningStrategy ( ) ;
206+ const strategy = new PrereleaseVersioningStrategy ( { prerelease : true } ) ;
181207 const oldVersion = Version . parse ( old ) ;
182208 const newVersion = await strategy . bump ( oldVersion , commits ) ;
183209 expect ( newVersion . toString ( ) ) . to . equal ( expected ) ;
184210 } ) ;
185211 }
186212 it ( 'can bump a patch pre-major' , async ( ) => {
187213 const strategy = new PrereleaseVersioningStrategy ( {
214+ prerelease : true ,
188215 bumpPatchForMinorPreMajor : true ,
189216 } ) ;
190217 const oldVersion = Version . parse ( '0.1.2' ) ;
@@ -218,6 +245,7 @@ describe('PrereleaseVersioningStrategy', () => {
218245 const expected = expectedBumps [ old ] ;
219246 it ( `can bump ${ old } to ${ expected } ` , async ( ) => {
220247 const strategy = new PrereleaseVersioningStrategy ( {
248+ prerelease : true ,
221249 prereleaseType : 'beta' ,
222250 } ) ;
223251 const oldVersion = Version . parse ( old ) ;
@@ -227,6 +255,7 @@ describe('PrereleaseVersioningStrategy', () => {
227255 }
228256 it ( 'can bump a patch pre-major' , async ( ) => {
229257 const strategy = new PrereleaseVersioningStrategy ( {
258+ prerelease : true ,
230259 bumpPatchForMinorPreMajor : true ,
231260 prereleaseType : 'beta' ,
232261 } ) ;
@@ -235,6 +264,27 @@ describe('PrereleaseVersioningStrategy', () => {
235264 expect ( newVersion . toString ( ) ) . to . equal ( '0.1.3-beta' ) ;
236265 } ) ;
237266 } ) ;
267+ describe ( 'without prerelease property' , ( ) => {
268+ const expectedBumps : Record < string , string > = {
269+ '1.2.3' : '1.3.0' ,
270+ '1.0.0-beta01' : '1.0.0' ,
271+ '1.1.0-beta01' : '1.1.0' ,
272+ '1.3.0-alpha' : '1.3.0' ,
273+ '1.3.0-alpha.1' : '1.3.0' ,
274+ } ;
275+ for ( const old in expectedBumps ) {
276+ const expected = expectedBumps [ old ] ;
277+ it ( `can bump ${ old } to ${ expected } ` , async ( ) => {
278+ const strategy = new PrereleaseVersioningStrategy ( {
279+ prerelease : false ,
280+ prereleaseType : 'beta' ,
281+ } ) ;
282+ const oldVersion = Version . parse ( old ) ;
283+ const newVersion = await strategy . bump ( oldVersion , commits ) ;
284+ expect ( newVersion . toString ( ) ) . to . equal ( expected ) ;
285+ } ) ;
286+ }
287+ } ) ;
238288 } ) ;
239289
240290 describe ( 'with a fix' , ( ) => {
@@ -277,7 +327,7 @@ describe('PrereleaseVersioningStrategy', () => {
277327 for ( const old in expectedBumps ) {
278328 const expected = expectedBumps [ old ] ;
279329 it ( `can bump ${ old } to ${ expected } ` , async ( ) => {
280- const strategy = new PrereleaseVersioningStrategy ( ) ;
330+ const strategy = new PrereleaseVersioningStrategy ( { prerelease : true } ) ;
281331 const oldVersion = Version . parse ( old ) ;
282332 const newVersion = await strategy . bump ( oldVersion , commits ) ;
283333 expect ( newVersion . toString ( ) ) . to . equal ( expected ) ;
@@ -307,6 +357,28 @@ describe('PrereleaseVersioningStrategy', () => {
307357 const expected = expectedBumps [ old ] ;
308358 it ( `can bump ${ old } to ${ expected } ` , async ( ) => {
309359 const strategy = new PrereleaseVersioningStrategy ( {
360+ prerelease : true ,
361+ prereleaseType : 'beta' ,
362+ } ) ;
363+ const oldVersion = Version . parse ( old ) ;
364+ const newVersion = await strategy . bump ( oldVersion , commits ) ;
365+ expect ( newVersion . toString ( ) ) . to . equal ( expected ) ;
366+ } ) ;
367+ }
368+ } ) ;
369+ describe ( 'without prerelease property' , ( ) => {
370+ const expectedBumps : Record < string , string > = {
371+ '1.2.3' : '1.2.4' ,
372+ '1.0.0-beta01' : '1.0.0' ,
373+ '1.1.0-beta01' : '1.1.0' ,
374+ '1.2.4-alpha' : '1.2.4' ,
375+ '1.2.4-alpha.1' : '1.2.4' ,
376+ } ;
377+ for ( const old in expectedBumps ) {
378+ const expected = expectedBumps [ old ] ;
379+ it ( `can bump ${ old } to ${ expected } ` , async ( ) => {
380+ const strategy = new PrereleaseVersioningStrategy ( {
381+ prerelease : false ,
310382 prereleaseType : 'beta' ,
311383 } ) ;
312384 const oldVersion = Version . parse ( old ) ;
@@ -354,7 +426,7 @@ describe('PrereleaseVersioningStrategy', () => {
354426 breaking : false ,
355427 } ,
356428 ] ;
357- const strategy = new PrereleaseVersioningStrategy ( ) ;
429+ const strategy = new PrereleaseVersioningStrategy ( { prerelease : true } ) ;
358430 const oldVersion = Version . parse ( '1.2.3' ) ;
359431 const newVersion = await strategy . bump ( oldVersion , commits ) ;
360432 expect ( newVersion . toString ( ) ) . to . equal ( '3.1.2' ) ;
@@ -406,7 +478,7 @@ describe('PrereleaseVersioningStrategy', () => {
406478 breaking : true ,
407479 } ,
408480 ] ;
409- const strategy = new PrereleaseVersioningStrategy ( ) ;
481+ const strategy = new PrereleaseVersioningStrategy ( { prerelease : true } ) ;
410482 const oldVersion = Version . parse ( '1.2.3' ) ;
411483 const newVersion = await strategy . bump ( oldVersion , commits ) ;
412484 expect ( newVersion . toString ( ) ) . to . equal ( '3.1.2' ) ;
0 commit comments