@@ -190,7 +190,7 @@ impl Seek for MemReader {
190190}
191191
192192impl Buffer for MemReader {
193- fn fill < ' a > ( & ' a mut self ) -> IoResult < & ' a [ u8 ] > {
193+ fn fill_buf < ' a > ( & ' a mut self ) -> IoResult < & ' a [ u8 ] > {
194194 if self . pos < self . buf . len ( ) {
195195 Ok ( self . buf . slice_from ( self . pos ) )
196196 } else {
@@ -322,7 +322,7 @@ impl<'a> Seek for BufReader<'a> {
322322}
323323
324324impl < ' a > Buffer for BufReader < ' a > {
325- fn fill < ' a > ( & ' a mut self ) -> IoResult < & ' a [ u8 ] > {
325+ fn fill_buf < ' a > ( & ' a mut self ) -> IoResult < & ' a [ u8 ] > {
326326 if self . pos < self . buf . len ( ) {
327327 Ok ( self . buf . slice_from ( self . pos ) )
328328 } else {
@@ -555,4 +555,18 @@ mod test {
555555 let mut r = BufWriter :: new ( buf) ;
556556 assert ! ( r. seek( -1 , SeekSet ) . is_err( ) ) ;
557557 }
558+
559+ #[ test]
560+ fn io_fill ( ) {
561+ let mut r = MemReader :: new ( ~[ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ] ) ;
562+ let mut buf = [ 0 , ..3 ] ;
563+ assert_eq ! ( r. fill( buf) , Ok ( ( ) ) ) ;
564+ assert_eq ! ( buf. as_slice( ) , & [ 1 , 2 , 3 ] ) ;
565+ assert_eq ! ( r. fill( buf. mut_slice_to( 0 ) ) , Ok ( ( ) ) ) ;
566+ assert_eq ! ( buf. as_slice( ) , & [ 1 , 2 , 3 ] ) ;
567+ assert_eq ! ( r. fill( buf) , Ok ( ( ) ) ) ;
568+ assert_eq ! ( buf. as_slice( ) , & [ 4 , 5 , 6 ] ) ;
569+ assert ! ( r. fill( buf) . is_err( ) ) ;
570+ assert_eq ! ( buf. as_slice( ) , & [ 7 , 8 , 6 ] ) ;
571+ }
558572}
0 commit comments