فهرست منبع

More precise cases in testing macros

Isaac Woods 6 سال پیش
والد
کامیت
9c52af1176
1فایلهای تغییر یافته به همراه6 افزوده شده و 0 حذف شده
  1. 6 0
      aml_parser/src/test_utils.rs

+ 6 - 0
aml_parser/src/test_utils.rs

@@ -2,6 +2,9 @@ pub(crate) macro check_err($parse: expr, $error: pat, $remains: expr) {
     match $parse {
         Ok(result) => panic!("Expected Err, got {:#?}", result),
         Err((remains, $error)) if *remains == *$remains => (),
+        Err((remains, $error)) => {
+            panic!("Correct error, incorrect stream returned: {:x?}", remains)
+        }
         Err((_, err)) => panic!("Got wrong error: {:?}", err),
     }
 }
@@ -9,6 +12,9 @@ pub(crate) macro check_err($parse: expr, $error: pat, $remains: expr) {
 pub(crate) macro check_ok($parse: expr, $expected: expr, $remains: expr) {
     match $parse {
         Ok((remains, result)) if remains == *$remains && result == $expected => (),
+        Ok((remains, result)) if result == $expected => {
+            panic!("Correct result, incorrect slice returned: {:x?}", remains)
+        }
         Ok(result) => panic!("Successfully parsed Ok, but it was wrong: {:#?}", result),
         Err((_, err)) => panic!("Expected Ok, got {:#?}", err),
     }