@@ -149,7 +149,78 @@ describe('findMatchingSimulator', () => {
149
149
} ) ;
150
150
} ) ;
151
151
152
- it ( 'should return the botted simulator in list if none is defined' , ( ) => {
152
+ it ( 'should return the first simulator in list if none is defined' , ( ) => {
153
+ expect ( findMatchingSimulator ( {
154
+ "devices" : {
155
+ "iOS 9.2" : [
156
+ {
157
+ "state" : "Shutdown" ,
158
+ "availability" : "(unavailable, runtime profile not found)" ,
159
+ "name" : "iPhone 4s" ,
160
+ "udid" : "B9B5E161-416B-43C4-A78F-729CB96CC8C6"
161
+ } ,
162
+ {
163
+ "state" : "Shutdown" ,
164
+ "availability" : "(available)" ,
165
+ "name" : "iPhone 5" ,
166
+ "udid" : "1CCBBF8B-5773-4EA6-BD6F-C308C87A1ADB"
167
+ } ,
168
+ {
169
+ "state" : "Shutdown" ,
170
+ "availability" : "(available)" ,
171
+ "name" : "iPhone 6" ,
172
+ "udid" : "BA0D93BD-07E6-4182-9B0A-F60A2474139C"
173
+ } ,
174
+ {
175
+ "state" : "Shutdown" ,
176
+ "availability" : "(available)" ,
177
+ "name" : "iPhone 6 (Plus)" ,
178
+ "udid" : "9564ABEE-9EC2-4B4A-B443-D3710929A45A"
179
+ } ,
180
+ {
181
+ "state" : "Shutdown" ,
182
+ "availability" : "(unavailable, runtime profile not found)" ,
183
+ "name" : "iPhone 6s" ,
184
+ "udid" : "D0F29BE7-CC3C-4976-888D-C739B4F50508"
185
+ }
186
+ ] ,
187
+ "iOS 10.0" : [
188
+ {
189
+ "state" : "Shutdown" ,
190
+ "availability" : "(available)" ,
191
+ "name" : "iPhone 6" ,
192
+ "udid" : "2FF48AE5-CC3B-4C80-8D25-48966A6BE2C0"
193
+ } ,
194
+ {
195
+ "state" : "Shutdown" ,
196
+ "availability" : "(available)" ,
197
+ "name" : "iPhone 6 (Plus)" ,
198
+ "udid" : "841E33FE-E8A1-4B65-9FF8-6EAA6442A3FC"
199
+ } ,
200
+ {
201
+ "state" : "Shutdown" ,
202
+ "availability" : "(available)" ,
203
+ "name" : "iPhone 6s" ,
204
+ "udid" : "CBBB8FB8-77AB-49A9-8297-4CCFE3189C22"
205
+ } ,
206
+ {
207
+ "state" : "Shutdown" ,
208
+ "availability" : "(available)" ,
209
+ "name" : "iPhone 7" ,
210
+ "udid" : "3A409DC5-5188-42A6-8598-3AA6F34607A5"
211
+ }
212
+ ]
213
+ }
214
+ } ,
215
+ null
216
+ ) ) . toEqual ( {
217
+ udid : '1CCBBF8B-5773-4EA6-BD6F-C308C87A1ADB' ,
218
+ name : 'iPhone 5' ,
219
+ version : 'iOS 9.2'
220
+ } ) ;
221
+ } ) ;
222
+
223
+ it ( 'should return the booted simulator in list if none is defined' , ( ) => {
153
224
expect ( findMatchingSimulator ( {
154
225
"devices" : {
155
226
"iOS 9.2" : [
@@ -193,4 +264,191 @@ describe('findMatchingSimulator', () => {
193
264
version : 'iOS 9.2'
194
265
} ) ;
195
266
} ) ;
267
+
268
+ it ( 'should return the booted simulator in list even if another device is defined' , ( ) => {
269
+ expect ( findMatchingSimulator ( {
270
+ "devices" : {
271
+ "iOS 9.2" : [
272
+ {
273
+ "state" : "Shutdown" ,
274
+ "availability" : "(unavailable, runtime profile not found)" ,
275
+ "name" : "iPhone 4s" ,
276
+ "udid" : "B9B5E161-416B-43C4-A78F-729CB96CC8C6"
277
+ } ,
278
+ {
279
+ "state" : "Shutdown" ,
280
+ "availability" : "(available)" ,
281
+ "name" : "iPhone 5" ,
282
+ "udid" : "1CCBBF8B-5773-4EA6-BD6F-C308C87A1ADB"
283
+ } ,
284
+ {
285
+ "state" : "Shutdown" ,
286
+ "availability" : "(available)" ,
287
+ "name" : "iPhone 6" ,
288
+ "udid" : "BA0D93BD-07E6-4182-9B0A-F60A2474139C"
289
+ } ,
290
+ {
291
+ "state" : "Shutdown" ,
292
+ "availability" : "(available)" ,
293
+ "name" : "iPhone 6 (Plus)" ,
294
+ "udid" : "9564ABEE-9EC2-4B4A-B443-D3710929A45A"
295
+ } ,
296
+ {
297
+ "state" : "Booted" ,
298
+ "availability" : "(available)" ,
299
+ "name" : "iPhone 6s" ,
300
+ "udid" : "D0F29BE7-CC3C-4976-888D-C739B4F50508"
301
+ }
302
+ ]
303
+ }
304
+ } ,
305
+ "iPhone 6"
306
+ ) ) . toEqual ( {
307
+ udid : 'D0F29BE7-CC3C-4976-888D-C739B4F50508' ,
308
+ name : 'iPhone 6s' ,
309
+ version : 'iOS 9.2'
310
+ } ) ;
311
+ } ) ;
312
+
313
+ it ( 'should return the booted simulator in list if none is defined (multi ios versions)' , ( ) => {
314
+ expect ( findMatchingSimulator ( {
315
+ "devices" : {
316
+ "iOS 9.2" : [
317
+ {
318
+ "state" : "Shutdown" ,
319
+ "availability" : "(unavailable, runtime profile not found)" ,
320
+ "name" : "iPhone 4s" ,
321
+ "udid" : "B9B5E161-416B-43C4-A78F-729CB96CC8C6"
322
+ } ,
323
+ {
324
+ "state" : "Shutdown" ,
325
+ "availability" : "(available)" ,
326
+ "name" : "iPhone 5" ,
327
+ "udid" : "1CCBBF8B-5773-4EA6-BD6F-C308C87A1ADB"
328
+ } ,
329
+ {
330
+ "state" : "Shutdown" ,
331
+ "availability" : "(available)" ,
332
+ "name" : "iPhone 6" ,
333
+ "udid" : "BA0D93BD-07E6-4182-9B0A-F60A2474139C"
334
+ } ,
335
+ {
336
+ "state" : "Shutdown" ,
337
+ "availability" : "(available)" ,
338
+ "name" : "iPhone 6 (Plus)" ,
339
+ "udid" : "9564ABEE-9EC2-4B4A-B443-D3710929A45A"
340
+ } ,
341
+ {
342
+ "state" : "Shutdown" ,
343
+ "availability" : "(available)" ,
344
+ "name" : "iPhone 6s" ,
345
+ "udid" : "D0F29BE7-CC3C-4976-888D-C739B4F50508"
346
+ }
347
+ ] ,
348
+ "iOS 10.0" : [
349
+ {
350
+ "state" : "Shutdown" ,
351
+ "availability" : "(available)" ,
352
+ "name" : "iPhone 6" ,
353
+ "udid" : "2FF48AE5-CC3B-4C80-8D25-48966A6BE2C0"
354
+ } ,
355
+ {
356
+ "state" : "Shutdown" ,
357
+ "availability" : "(available)" ,
358
+ "name" : "iPhone 6 (Plus)" ,
359
+ "udid" : "841E33FE-E8A1-4B65-9FF8-6EAA6442A3FC"
360
+ } ,
361
+ {
362
+ "state" : "Shutdown" ,
363
+ "availability" : "(available)" ,
364
+ "name" : "iPhone 6s" ,
365
+ "udid" : "CBBB8FB8-77AB-49A9-8297-4CCFE3189C22"
366
+ } ,
367
+ {
368
+ "state" : "Booted" ,
369
+ "availability" : "(available)" ,
370
+ "name" : "iPhone 7" ,
371
+ "udid" : "3A409DC5-5188-42A6-8598-3AA6F34607A5"
372
+ }
373
+ ]
374
+ }
375
+ } ,
376
+ null
377
+ ) ) . toEqual ( {
378
+ udid : '3A409DC5-5188-42A6-8598-3AA6F34607A5' ,
379
+ name : 'iPhone 7' ,
380
+ version : 'iOS 10.0'
381
+ } ) ;
382
+ } ) ;
383
+
384
+ it ( 'should return the booted simulator in list even if another device is defined (multi ios versions)' , ( ) => {
385
+ expect ( findMatchingSimulator ( {
386
+ "devices" : {
387
+ "iOS 9.2" : [
388
+ {
389
+ "state" : "Shutdown" ,
390
+ "availability" : "(unavailable, runtime profile not found)" ,
391
+ "name" : "iPhone 4s" ,
392
+ "udid" : "B9B5E161-416B-43C4-A78F-729CB96CC8C6"
393
+ } ,
394
+ {
395
+ "state" : "Shutdown" ,
396
+ "availability" : "(available)" ,
397
+ "name" : "iPhone 5" ,
398
+ "udid" : "1CCBBF8B-5773-4EA6-BD6F-C308C87A1ADB"
399
+ } ,
400
+ {
401
+ "state" : "Shutdown" ,
402
+ "availability" : "(available)" ,
403
+ "name" : "iPhone 6" ,
404
+ "udid" : "BA0D93BD-07E6-4182-9B0A-F60A2474139C"
405
+ } ,
406
+ {
407
+ "state" : "Shutdown" ,
408
+ "availability" : "(available)" ,
409
+ "name" : "iPhone 6 (Plus)" ,
410
+ "udid" : "9564ABEE-9EC2-4B4A-B443-D3710929A45A"
411
+ } ,
412
+ {
413
+ "state" : "Shutdown" ,
414
+ "availability" : "(available)" ,
415
+ "name" : "iPhone 6s" ,
416
+ "udid" : "D0F29BE7-CC3C-4976-888D-C739B4F50508"
417
+ }
418
+ ] ,
419
+ "iOS 10.0" : [
420
+ {
421
+ "state" : "Shutdown" ,
422
+ "availability" : "(available)" ,
423
+ "name" : "iPhone 6" ,
424
+ "udid" : "2FF48AE5-CC3B-4C80-8D25-48966A6BE2C0"
425
+ } ,
426
+ {
427
+ "state" : "Shutdown" ,
428
+ "availability" : "(available)" ,
429
+ "name" : "iPhone 6 (Plus)" ,
430
+ "udid" : "841E33FE-E8A1-4B65-9FF8-6EAA6442A3FC"
431
+ } ,
432
+ {
433
+ "state" : "Shutdown" ,
434
+ "availability" : "(available)" ,
435
+ "name" : "iPhone 6s" ,
436
+ "udid" : "CBBB8FB8-77AB-49A9-8297-4CCFE3189C22"
437
+ } ,
438
+ {
439
+ "state" : "Booted" ,
440
+ "availability" : "(available)" ,
441
+ "name" : "iPhone 7" ,
442
+ "udid" : "3A409DC5-5188-42A6-8598-3AA6F34607A5"
443
+ }
444
+ ]
445
+ }
446
+ } ,
447
+ "iPhone 6s"
448
+ ) ) . toEqual ( {
449
+ udid : '3A409DC5-5188-42A6-8598-3AA6F34607A5' ,
450
+ name : 'iPhone 7' ,
451
+ version : 'iOS 10.0'
452
+ } ) ;
453
+ } ) ;
196
454
} ) ;
0 commit comments