@@ -250,12 +250,12 @@ macro_rules! buf_tests {
250250 buf_tests!( number $make_input, get_f64_le, get_f64_le_overflow, f64 , get_f64_le, f64 :: from_bits( 0x7144726a727146ff ) ) ;
251251 buf_tests!( number $make_input, get_f64_ne, get_f64_ne_overflow, f64 , get_f64_ne, f64 :: from_bits( e!( 0xff4671726a724471 , 0x7144726a727146ff ) ) ) ;
252252
253- buf_tests!( var_number $make_input, get_uint_be, get_uint_be_overflow, u64 , get_uint, 3 , 0xff4671 ) ;
254- buf_tests!( var_number $make_input, get_uint_le, get_uint_le_overflow, u64 , get_uint_le, 3 , 0x7146ff ) ;
255- buf_tests!( var_number $make_input, get_uint_ne, get_uint_ne_overflow, u64 , get_uint_ne, 3 , e!( 0xff4671 , 0x7146ff ) ) ;
256- buf_tests!( var_number $make_input, get_int_be, get_int_be_overflow, i64 , get_int, 3 , 0xffffffffffff4671u64 as i64 ) ;
257- buf_tests!( var_number $make_input, get_int_le, get_int_le_overflow, i64 , get_int_le, 3 , 0x7146ff ) ;
258- buf_tests!( var_number $make_input, get_int_ne, get_int_ne_overflow, i64 , get_int_ne, 3 , e!( 0xffffffffffff4671u64 as i64 , 0x7146ff ) ) ;
253+ buf_tests!( var_number $make_input, get_uint_be, get_uint_be_zero , get_uint_be_overflow, u64 , get_uint, 3 , 0xff4671 ) ;
254+ buf_tests!( var_number $make_input, get_uint_le, get_uint_le_zero , get_uint_le_overflow, u64 , get_uint_le, 3 , 0x7146ff ) ;
255+ buf_tests!( var_number $make_input, get_uint_ne, get_uint_ne_zero , get_uint_ne_overflow, u64 , get_uint_ne, 3 , e!( 0xff4671 , 0x7146ff ) ) ;
256+ buf_tests!( var_number $make_input, get_int_be, get_int_be_zero , get_int_be_overflow, i64 , get_int, 3 , 0xffffffffffff4671u64 as i64 ) ;
257+ buf_tests!( var_number $make_input, get_int_le, get_int_le_zero , get_int_le_overflow, i64 , get_int_le, 3 , 0x7146ff ) ;
258+ buf_tests!( var_number $make_input, get_int_ne, get_int_ne_zero , get_int_ne_overflow, i64 , get_int_ne, 3 , e!( 0xffffffffffff4671u64 as i64 , 0x7146ff ) ) ;
259259 } ;
260260 ( number $make_input: ident, $ok_name: ident, $panic_name: ident, $number: ty, $method: ident, $value: expr) => {
261261 #[ test]
@@ -276,7 +276,7 @@ macro_rules! buf_tests {
276276 let _ = buf. $method( ) ;
277277 }
278278 } ;
279- ( var_number $make_input: ident, $ok_name: ident, $panic_name: ident, $number: ty, $method: ident, $len: expr, $value: expr) => {
279+ ( var_number $make_input: ident, $ok_name: ident, $ok_zero_name : ident , $ panic_name: ident, $number: ty, $method: ident, $len: expr, $value: expr) => {
280280 #[ test]
281281 fn $ok_name( ) {
282282 let mut buf = $make_input( INPUT ) ;
@@ -287,6 +287,17 @@ macro_rules! buf_tests {
287287 assert_eq!( value, $value) ;
288288 }
289289
290+ // Regression test for https://github.com/tokio-rs/bytes/issues/798
291+ #[ test]
292+ fn $ok_zero_name( ) {
293+ let mut buf = $make_input( INPUT ) ;
294+
295+ let value = buf. $method( 0 ) ;
296+ assert_eq!( buf. remaining( ) , 64 ) ;
297+ assert!( buf. has_remaining( ) ) ;
298+ assert_eq!( value, 0 ) ;
299+ }
300+
290301 #[ test]
291302 #[ should_panic]
292303 fn $panic_name( ) {
0 commit comments