@@ -410,30 +410,27 @@ describe('MultiPick', function () {
410410 let picker : TestQuickPick < DataQuickPickItem < string > >
411411 let testPrompter : QuickPickPrompter < string >
412412
413- it ( 'can handle back button' , async function ( ) {
413+ const prepareMultipick = async ( itemsToLoad : DataQuickPickItem < string > [ ] ) => {
414414 picker = getTestWindow ( ) . createQuickPick ( ) as typeof picker
415415 picker . canSelectMany = true
416416 testPrompter = new QuickPickPrompter ( picker )
417- testPrompter . loadItems ( items )
417+ await testPrompter . loadItems ( itemsToLoad )
418+ }
419+
420+ it ( 'can handle back button' , async function ( ) {
421+ await prepareMultipick ( items )
418422 testPrompter . onDidShow ( ( ) => picker . pressButton ( createBackButton ( ) ) )
419423 assert . strictEqual ( await testPrompter . prompt ( ) , WIZARD_BACK )
420424 } )
421425
422426 it ( 'can handle exit button' , async function ( ) {
423- picker = getTestWindow ( ) . createQuickPick ( ) as typeof picker
424- picker . canSelectMany = true
425- testPrompter = new QuickPickPrompter ( picker )
426- testPrompter . loadItems ( items )
427+ await prepareMultipick ( items )
427428 testPrompter . onDidShow ( ( ) => picker . dispose ( ) )
428429 assert . strictEqual ( await testPrompter . prompt ( ) , WIZARD_EXIT )
429430 } )
430431
431432 it ( 'applies picked options' , async function ( ) {
432- picker = getTestWindow ( ) . createQuickPick ( ) as typeof picker
433- picker . canSelectMany = true
434- testPrompter = new QuickPickPrompter ( picker )
435- testPrompter . loadItems ( items )
436-
433+ await prepareMultipick ( items )
437434 picker . onDidShow ( async ( ) => {
438435 picker . acceptDefault ( )
439436 } )
@@ -446,14 +443,11 @@ describe('MultiPick', function () {
446443 } )
447444
448445 const result = await testPrompter . prompt ( )
449- assert . deepStrictEqual ( result , '[" yes"]' )
446+ assert . deepStrictEqual ( result , JSON . stringify ( [ ' yes' ] ) )
450447 } )
451448
452449 it ( 'pick non should return empty array' , async function ( ) {
453- picker = getTestWindow ( ) . createQuickPick ( ) as typeof picker
454- picker . canSelectMany = true
455- testPrompter = new QuickPickPrompter ( picker )
456- testPrompter . loadItems ( itemsNoPicked )
450+ await prepareMultipick ( itemsNoPicked )
457451
458452 picker . onDidShow ( async ( ) => {
459453 picker . acceptDefault ( )
@@ -467,7 +461,18 @@ describe('MultiPick', function () {
467461 } )
468462
469463 const result = await testPrompter . prompt ( )
470- assert . deepStrictEqual ( result , '[]' )
464+ assert . deepStrictEqual ( result , JSON . stringify ( [ ] ) )
465+ } )
466+
467+ it ( 'accept all should return array' , async function ( ) {
468+ await prepareMultipick ( itemsNoPicked )
469+ picker . onDidShow ( async ( ) => {
470+ await picker . untilReady ( )
471+ picker . acceptItems ( itemsNoPicked [ 0 ] , itemsNoPicked [ 1 ] )
472+ } )
473+
474+ const result = await testPrompter . prompt ( )
475+ assert . deepStrictEqual ( result , JSON . stringify ( [ 'yes' , 'no' ] ) )
471476 } )
472477
473478 it ( 'creates a new prompter with options' , async function ( ) {
0 commit comments