diff --git a/src/lib.rs b/src/lib.rs index 13aa9f0..b32317a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -201,9 +201,15 @@ macro_rules! assert_json_include { panic!("\n\n{}\n\n", error); } }}; + (actual: $actual:expr, expected: $expected:expr,) => {{ + $crate::assert_json_include!(actual: $actual, expected: $expected) + }}; (expected: $expected:expr, actual: $actual:expr) => {{ $crate::assert_json_include!(actual: $actual, expected: $expected) }}; + (expected: $expected:expr, actual: $actual:expr,) => {{ + $crate::assert_json_include!(actual: $actual, expected: $expected) + }}; } /// The macro used to compare two JSON values for an exact match. @@ -222,6 +228,9 @@ macro_rules! assert_json_eq { panic!("\n\n{}\n\n", error); } }}; + ($lhs:expr, $rhs:expr,) => {{ + $crate::assert_json_eq!($lhs, $rhs) + }}; } /// Perform the matching and return the error text rather than panicing. diff --git a/tests/integration_test.rs b/tests/integration_test.rs index 2b2d58e..2e9322a 100644 --- a/tests/integration_test.rs +++ b/tests/integration_test.rs @@ -14,6 +14,16 @@ fn can_pass() { actual: json!({ "a": { "b": true } }), expected: json!({ "a": {} }) ); + + assert_json_include!( + actual: json!({ "a": { "b": true } }), + expected: json!({ "a": {} }), + ); + + assert_json_include!( + expected: json!({ "a": {} }), + actual: json!({ "a": { "b": true } }), + ); } #[test] @@ -28,6 +38,7 @@ fn can_fail() { #[test] fn can_pass_with_exact_match() { assert_json_eq!(json!({ "a": { "b": true } }), json!({ "a": { "b": true } })); + assert_json_eq!(json!({ "a": { "b": true } }), json!({ "a": { "b": true } }),); } #[test]