@@ -386,9 +386,9 @@ pub mod test {
386
386
read_segment_table, write_segment_table, write_segments} ;
387
387
388
388
/// Writes segments as if they were a Capnproto message.
389
- pub fn write_message_segments < W > ( write : & mut W , segments : & Vec < Vec < u8 > > ) where W : Write {
389
+ pub fn write_message_segments < W > ( write : & mut W , segments : & Vec < Vec < crate :: Word > > ) where W : Write {
390
390
let borrowed_segments: & [ & [ u8 ] ] = & segments. iter ( )
391
- . map ( |segment| & segment[ ..] )
391
+ . map ( |segment| crate :: Word :: words_to_bytes ( & segment[ ..] ) )
392
392
. collect :: < Vec < _ > > ( ) [ ..] ;
393
393
write_segment_table ( write, borrowed_segments) . unwrap ( ) ;
394
394
write_segments ( write, borrowed_segments) . unwrap ( ) ;
@@ -539,26 +539,11 @@ pub mod test {
539
539
buf. clear ( ) ;
540
540
}
541
541
542
- fn word_segments_to_byte_segments ( word_segments : Vec < Vec < u64 > > ) -> Vec < Vec < u8 > > {
543
- let mut result = Vec :: new ( ) ;
544
- for s in word_segments {
545
- let mut byte_seg = Vec :: new ( ) ;
546
- for w in s {
547
- for b in & w. to_le_bytes ( ) {
548
- byte_seg. push ( * b)
549
- }
550
- }
551
- result. push ( byte_seg) ;
552
- }
553
- result
554
- }
555
-
556
542
#[ test]
557
543
#[ cfg_attr( miri, ignore) ] // miri takes a long time with quickcheck
558
544
fn check_round_trip ( ) {
559
- fn round_trip ( word_segments : Vec < Vec < u64 > > ) -> TestResult {
560
- if word_segments. len ( ) == 0 { return TestResult :: discard ( ) ; }
561
- let segments = word_segments_to_byte_segments ( word_segments) ;
545
+ fn round_trip ( segments : Vec < Vec < crate :: Word > > ) -> TestResult {
546
+ if segments. len ( ) == 0 { return TestResult :: discard ( ) ; }
562
547
let mut cursor = Cursor :: new ( Vec :: new ( ) ) ;
563
548
564
549
write_message_segments ( & mut cursor, & segments) ;
@@ -568,21 +553,20 @@ pub mod test {
568
553
let result_segments = message. into_segments ( ) ;
569
554
570
555
TestResult :: from_bool ( segments. iter ( ) . enumerate ( ) . all ( |( i, segment) | {
571
- & segment[ ..] == result_segments. get_segment ( i as u32 ) . unwrap ( )
556
+ crate :: Word :: words_to_bytes ( & segment[ ..] ) == result_segments. get_segment ( i as u32 ) . unwrap ( )
572
557
} ) )
573
558
}
574
559
575
- quickcheck ( round_trip as fn ( Vec < Vec < u64 > > ) -> TestResult ) ;
560
+ quickcheck ( round_trip as fn ( Vec < Vec < crate :: Word > > ) -> TestResult ) ;
576
561
}
577
562
578
563
#[ test]
579
564
#[ cfg_attr( miri, ignore) ] // miri takes a long time with quickcheck
580
565
fn check_round_trip_slice_segments ( ) {
581
- fn round_trip ( word_segments : Vec < Vec < u64 > > ) -> TestResult {
582
- if word_segments. len ( ) == 0 { return TestResult :: discard ( ) ; }
583
- let segments = word_segments_to_byte_segments ( word_segments) ;
566
+ fn round_trip ( segments : Vec < Vec < crate :: Word > > ) -> TestResult {
567
+ if segments. len ( ) == 0 { return TestResult :: discard ( ) ; }
584
568
let borrowed_segments: & [ & [ u8 ] ] = & segments. iter ( )
585
- . map ( |segment| & segment[ ..] )
569
+ . map ( |segment| crate :: Word :: words_to_bytes ( & segment[ ..] ) )
586
570
. collect :: < Vec < _ > > ( ) [ ..] ;
587
571
let words = flatten_segments ( borrowed_segments) ;
588
572
let mut word_slice = & words[ ..] ;
@@ -591,11 +575,11 @@ pub mod test {
591
575
let result_segments = message. into_segments ( ) ;
592
576
593
577
TestResult :: from_bool ( segments. iter ( ) . enumerate ( ) . all ( |( i, segment) | {
594
- & segment[ ..] == result_segments. get_segment ( i as u32 ) . unwrap ( )
578
+ crate :: Word :: words_to_bytes ( & segment[ ..] ) == result_segments. get_segment ( i as u32 ) . unwrap ( )
595
579
} ) )
596
580
}
597
581
598
- quickcheck ( round_trip as fn ( Vec < Vec < u64 > > ) -> TestResult ) ;
582
+ quickcheck ( round_trip as fn ( Vec < Vec < crate :: Word > > ) -> TestResult ) ;
599
583
}
600
584
601
585
#[ test]
0 commit comments