@@ -111,12 +111,37 @@ export class ImageHelper {
111111
112112 public reset ( ) {
113113 this . _imagesResults . clear ( ) ;
114+ this . testName = undefined ;
114115 }
115116
116117 private increaseImageName ( imageName : string ) {
117- if ( this . _imagesResults . size > 1 ) {
118- const number = / \d + $ / . test ( imageName ) ? + `${ / \d + $ / . exec ( imageName ) } ` + 1 : `2` ;
119- imageName = `${ imageName } _${ number } ` ;
118+ if ( ! imageName ) {
119+ logError ( `Missing image name!` ) ;
120+ logError ( `Consider to set
121+ drive.imageHelper.testName
122+ dirver.imageHelper.options.imageName
123+ ` ) ;
124+ throw new Error ( `Missing image name!` )
125+ }
126+ if ( this . _imagesResults . size > 0 ) {
127+ const images = new Array ( ) ;
128+ this . _imagesResults . forEach ( ( v , k , map ) => {
129+ if ( k . includes ( imageName ) ) {
130+ images . push ( k ) ;
131+ }
132+ } ) ;
133+
134+ images . sort ( ( a , b ) => {
135+ const aNumber = + / \d + $ / . exec ( a ) ;
136+ const bNumber = + / \d + $ / . exec ( b ) ;
137+
138+ return bNumber - aNumber ;
139+ } ) ;
140+ if ( images . length > 0 ) {
141+ const lastImage = images [ 0 ] ;
142+ const number = / \d + $ / . test ( lastImage ) ? + `${ / \d + $ / . exec ( lastImage ) } ` + 1 : `2` ;
143+ imageName = `${ imageName } _${ number } ` ;
144+ }
120145 }
121146
122147 return imageName ;
0 commit comments