@@ -411,22 +411,23 @@ mod tests {
411411 fn parse_names_test ( ) {
412412 let lines = b"* LIST (\\ HasNoChildren) \" .\" \" INBOX\" \r \n " ;
413413 let ( mut send, recv) = mpsc:: channel ( ) ;
414- let names = parse_names ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
414+ let names = Names :: parse ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
415415 assert ! ( recv. try_recv( ) . is_err( ) ) ;
416416 assert_eq ! ( names. len( ) , 1 ) ;
417+ let first = names. iter ( ) . next ( ) . unwrap ( ) ;
417418 assert_eq ! (
418- names [ 0 ] . attributes( ) ,
419+ first . attributes( ) ,
419420 & [ NameAttribute :: from( "\\ HasNoChildren" ) ]
420421 ) ;
421- assert_eq ! ( names [ 0 ] . delimiter( ) , Some ( "." ) ) ;
422- assert_eq ! ( names [ 0 ] . name( ) , "INBOX" ) ;
422+ assert_eq ! ( first . delimiter( ) , Some ( "." ) ) ;
423+ assert_eq ! ( first . name( ) , "INBOX" ) ;
423424 }
424425
425426 #[ test]
426427 fn parse_fetches_empty ( ) {
427428 let lines = b"" ;
428429 let ( mut send, recv) = mpsc:: channel ( ) ;
429- let fetches = parse_fetches ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
430+ let fetches = Fetches :: parse ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
430431 assert ! ( recv. try_recv( ) . is_err( ) ) ;
431432 assert ! ( fetches. is_empty( ) ) ;
432433 }
@@ -437,19 +438,22 @@ mod tests {
437438 * 24 FETCH (FLAGS (\\ Seen) UID 4827943)\r \n \
438439 * 25 FETCH (FLAGS (\\ Seen))\r \n ";
439440 let ( mut send, recv) = mpsc:: channel ( ) ;
440- let fetches = parse_fetches ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
441+ let fetches = Fetches :: parse ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
441442 assert ! ( recv. try_recv( ) . is_err( ) ) ;
442443 assert_eq ! ( fetches. len( ) , 2 ) ;
443- assert_eq ! ( fetches[ 0 ] . message, 24 ) ;
444- assert_eq ! ( fetches[ 0 ] . flags( ) , & [ Flag :: Seen ] ) ;
445- assert_eq ! ( fetches[ 0 ] . uid, Some ( 4827943 ) ) ;
446- assert_eq ! ( fetches[ 0 ] . body( ) , None ) ;
447- assert_eq ! ( fetches[ 0 ] . header( ) , None ) ;
448- assert_eq ! ( fetches[ 1 ] . message, 25 ) ;
449- assert_eq ! ( fetches[ 1 ] . flags( ) , & [ Flag :: Seen ] ) ;
450- assert_eq ! ( fetches[ 1 ] . uid, None ) ;
451- assert_eq ! ( fetches[ 1 ] . body( ) , None ) ;
452- assert_eq ! ( fetches[ 1 ] . header( ) , None ) ;
444+ let mut iter = fetches. iter ( ) ;
445+ let first = iter. next ( ) . unwrap ( ) ;
446+ assert_eq ! ( first. message, 24 ) ;
447+ assert_eq ! ( first. flags( ) , & [ Flag :: Seen ] ) ;
448+ assert_eq ! ( first. uid, Some ( 4827943 ) ) ;
449+ assert_eq ! ( first. body( ) , None ) ;
450+ assert_eq ! ( first. header( ) , None ) ;
451+ let second = iter. next ( ) . unwrap ( ) ;
452+ assert_eq ! ( second. message, 25 ) ;
453+ assert_eq ! ( second. flags( ) , & [ Flag :: Seen ] ) ;
454+ assert_eq ! ( second. uid, None ) ;
455+ assert_eq ! ( second. body( ) , None ) ;
456+ assert_eq ! ( second. header( ) , None ) ;
453457 }
454458
455459 #[ test]
@@ -459,11 +463,12 @@ mod tests {
459463 * 37 FETCH (UID 74)\r \n \
460464 * 1 RECENT\r \n ";
461465 let ( mut send, recv) = mpsc:: channel ( ) ;
462- let fetches = parse_fetches ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
466+ let fetches = Fetches :: parse ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
463467 assert_eq ! ( recv. try_recv( ) , Ok ( UnsolicitedResponse :: Recent ( 1 ) ) ) ;
464468 assert_eq ! ( fetches. len( ) , 1 ) ;
465- assert_eq ! ( fetches[ 0 ] . message, 37 ) ;
466- assert_eq ! ( fetches[ 0 ] . uid, Some ( 74 ) ) ;
469+ let first = fetches. iter ( ) . next ( ) . unwrap ( ) ;
470+ assert_eq ! ( first. message, 37 ) ;
471+ assert_eq ! ( first. uid, Some ( 74 ) ) ;
467472 }
468473
469474 #[ test]
@@ -475,7 +480,7 @@ mod tests {
475480 * OK Searched 91% of the mailbox, ETA 0:01\r \n \
476481 * 37 FETCH (UID 74)\r \n ";
477482 let ( mut send, recv) = mpsc:: channel ( ) ;
478- let fetches = parse_fetches ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
483+ let fetches = Fetches :: parse ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
479484 assert_eq ! (
480485 recv. try_recv( ) ,
481486 Ok ( UnsolicitedResponse :: Ok {
@@ -484,8 +489,9 @@ mod tests {
484489 } )
485490 ) ;
486491 assert_eq ! ( fetches. len( ) , 1 ) ;
487- assert_eq ! ( fetches[ 0 ] . message, 37 ) ;
488- assert_eq ! ( fetches[ 0 ] . uid, Some ( 74 ) ) ;
492+ let first = fetches. iter ( ) . next ( ) . unwrap ( ) ;
493+ assert_eq ! ( first. message, 37 ) ;
494+ assert_eq ! ( first. uid, Some ( 74 ) ) ;
489495 }
490496
491497 #[ test]
@@ -494,17 +500,18 @@ mod tests {
494500 * LIST (\\ HasNoChildren) \" .\" \" INBOX\" \r \n \
495501 * 4 EXPUNGE\r \n ";
496502 let ( mut send, recv) = mpsc:: channel ( ) ;
497- let names = parse_names ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
503+ let names = Names :: parse ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
498504
499505 assert_eq ! ( recv. try_recv( ) . unwrap( ) , UnsolicitedResponse :: Expunge ( 4 ) ) ;
500506
501507 assert_eq ! ( names. len( ) , 1 ) ;
508+ let first = names. iter ( ) . next ( ) . unwrap ( ) ;
502509 assert_eq ! (
503- names [ 0 ] . attributes( ) ,
510+ first . attributes( ) ,
504511 & [ NameAttribute :: from( "\\ HasNoChildren" ) ]
505512 ) ;
506- assert_eq ! ( names [ 0 ] . delimiter( ) , Some ( "." ) ) ;
507- assert_eq ! ( names [ 0 ] . name( ) , "INBOX" ) ;
513+ assert_eq ! ( first . delimiter( ) , Some ( "." ) ) ;
514+ assert_eq ! ( first . name( ) , "INBOX" ) ;
508515 }
509516
510517 #[ test]
@@ -635,7 +642,7 @@ mod tests {
635642 let lines = b"* VANISHED (EARLIER) 3:8,12,50:60\r \n \
636643 * 49 FETCH (UID 117 FLAGS (\\ Seen \\ Answered) MODSEQ (90060115194045001))\r \n ";
637644
638- let fetches = parse_fetches ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
645+ let fetches = Fetches :: parse ( lines. to_vec ( ) , & mut send) . unwrap ( ) ;
639646 match recv. try_recv ( ) . unwrap ( ) {
640647 UnsolicitedResponse :: Vanished { earlier, uids } => {
641648 assert ! ( earlier) ;
@@ -651,10 +658,11 @@ mod tests {
651658 }
652659 assert ! ( recv. try_recv( ) . is_err( ) ) ;
653660 assert_eq ! ( fetches. len( ) , 1 ) ;
654- assert_eq ! ( fetches[ 0 ] . message, 49 ) ;
655- assert_eq ! ( fetches[ 0 ] . flags( ) , & [ Flag :: Seen , Flag :: Answered ] ) ;
656- assert_eq ! ( fetches[ 0 ] . uid, Some ( 117 ) ) ;
657- assert_eq ! ( fetches[ 0 ] . body( ) , None ) ;
658- assert_eq ! ( fetches[ 0 ] . header( ) , None ) ;
661+ let first = fetches. iter ( ) . next ( ) . unwrap ( ) ;
662+ assert_eq ! ( first. message, 49 ) ;
663+ assert_eq ! ( first. flags( ) , & [ Flag :: Seen , Flag :: Answered ] ) ;
664+ assert_eq ! ( first. uid, Some ( 117 ) ) ;
665+ assert_eq ! ( first. body( ) , None ) ;
666+ assert_eq ! ( first. header( ) , None ) ;
659667 }
660668}
0 commit comments