From ca7aff727bfd95422dfed63d12a9b499684b6d7b Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Sat, 18 May 2024 04:26:41 -0700 Subject: [PATCH] Add binary operator ensure tests Currently failing: error: unexpected token: `b` --> tests/test_ensure.rs:138:44 | 138 | let test = || Ok(ensure!(a <= b || a - b <= 10)); | ^ | ::: src/ensure.rs:319:117 | 319 | (atom $stack:tt $bail:tt (~$($fuel:tt)*) {($($buf:tt)*) $($parse:tt)*} ($dot:tt $ident:tt $colons:tt $larrow:tt $lit:literal $($dup:tt)*) . $i:ident :: <- $($rest:tt)*) => { | ------------ while parsing argument for this `literal` macro fragment --- tests/test_ensure.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/test_ensure.rs b/tests/test_ensure.rs index ee7011c..96c236d 100644 --- a/tests/test_ensure.rs +++ b/tests/test_ensure.rs @@ -132,6 +132,19 @@ fn test_low_precedence_binary_operator() { test, "Condition failed: `while false == true && false {} < ()` (() vs ())", ); + + let a = 15; + let b = 3; + let test = || Ok(ensure!(a <= b || a - b <= 10)); + assert_err(test, "Condition failed: `a <= b || a - b <= 10`"); +} + +#[test] +fn test_high_precedence_binary_operator() { + let a = 15; + let b = 3; + let test = || Ok(ensure!(a - b <= 10)); + assert_err(test, "Condition failed: `a - b <= 10` (12 vs 10)"); } #[test]