test_utils.rs 907 B

12345678910111213141516171819
  1. pub(crate) macro check_err($parse: expr, $error: pat, $remains: expr) {
  2. match $parse {
  3. Ok(result) => panic!("Expected Err, got {:#?}", result),
  4. Err((remains, _, $error)) if *remains == *$remains => (),
  5. Err((remains, _, $error)) => panic!("Correct error, incorrect stream returned: {:x?}", remains),
  6. Err((_, _, err)) => panic!("Got wrong error: {:?}", err),
  7. }
  8. }
  9. pub(crate) macro check_ok($parse: expr, $expected: expr, $remains: expr) {
  10. match $parse {
  11. Ok((remains, _, ref result)) if remains == *$remains && result == &$expected => (),
  12. Ok((remains, _, ref result)) if result == &$expected => {
  13. panic!("Correct result, incorrect slice returned: {:x?}", remains)
  14. }
  15. Ok(result) => panic!("Successfully parsed Ok, but it was wrong: {:#?}", result),
  16. Err((_, _, err)) => panic!("Expected Ok, got {:#?}", err),
  17. }
  18. }