diff options
author | Justus Winter <justus@pep-project.org> | 2018-01-08 15:56:15 +0100 |
---|---|---|
committer | Justus Winter <justus@pep-project.org> | 2018-01-08 17:14:45 +0100 |
commit | 8215898c23c6e3bf8b29c71e76833ac6a9b4e526 (patch) | |
tree | 6e957f2b665051115e6988a702242ab4d9f72dea /core | |
parent | f50c15c3d245fd7d09075d8009608fb2fc8088e3 (diff) |
core: Export macro 'assert_match'.
- Unify with the variant in openpgp::tpk.
Diffstat (limited to 'core')
-rw-r--r-- | core/src/lib.rs | 71 |
1 files changed, 36 insertions, 35 deletions
diff --git a/core/src/lib.rs b/core/src/lib.rs index aa9f0232..1451bcc3 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -258,62 +258,63 @@ impl NetworkPolicy { } } +#[macro_export] +macro_rules! assert_match { + ( $error: pat = $expr:expr ) => { + let x = $expr; + if let $error = x { + /* Pass. */ + } else { + panic!("Expected {}, got {:?}.", stringify!($error), x); + } + }; +} + #[cfg(test)] mod network_policy_test { use super::{Error, NetworkPolicy}; - macro_rules! assert_match { - ( $result:expr, $error: pat ) => { - if let $error = $result { - /* Pass. */ - } else { - panic!("Expected {}, got {:?}.", stringify!($error), $result); - } - }; - } - - #[test] fn offline() { let p = NetworkPolicy::Offline; - assert_match!(p.assert(NetworkPolicy::Anonymized), - Err(Error::NetworkPolicyViolation(_))); - assert_match!(p.assert(NetworkPolicy::Encrypted), - Err(Error::NetworkPolicyViolation(_))); - assert_match!(p.assert(NetworkPolicy::Insecure), - Err(Error::NetworkPolicyViolation(_))); + assert_match!( + Err(Error::NetworkPolicyViolation(_)) = p.assert(NetworkPolicy::Anonymized)); + assert_match!( + Err(Error::NetworkPolicyViolation(_)) = p.assert(NetworkPolicy::Encrypted)); + assert_match!( + Err(Error::NetworkPolicyViolation(_)) = p.assert(NetworkPolicy::Insecure)); } #[test] fn anonymized() { let p = NetworkPolicy::Anonymized; - assert_match!(p.assert(NetworkPolicy::Anonymized), - Ok(())); - assert_match!(p.assert(NetworkPolicy::Encrypted), - Err(Error::NetworkPolicyViolation(_))); - assert_match!(p.assert(NetworkPolicy::Insecure), - Err(Error::NetworkPolicyViolation(_))); + assert_match!( + Ok(()) = p.assert(NetworkPolicy::Anonymized)); + assert_match!( + Err(Error::NetworkPolicyViolation(_)) = p.assert(NetworkPolicy::Encrypted)); + assert_match!( + Err(Error::NetworkPolicyViolation(_)) = p.assert(NetworkPolicy::Insecure)); } #[test] fn encrypted() { let p = NetworkPolicy::Encrypted; - assert_match!(p.assert(NetworkPolicy::Anonymized), - Ok(())); - assert_match!(p.assert(NetworkPolicy::Encrypted), - Ok(())); - assert_match!(p.assert(NetworkPolicy::Insecure), - Err(Error::NetworkPolicyViolation(_))); + assert_match!( + Ok(()) = p.assert(NetworkPolicy::Anonymized)); + assert_match!( + Ok(()) = p.assert(NetworkPolicy::Encrypted)); + assert_match!( + Err(Error::NetworkPolicyViolation(_)) = p.assert(NetworkPolicy::Insecure)); } #[test] fn insecure() { let p = NetworkPolicy::Insecure; - assert_match!(p.assert(NetworkPolicy::Anonymized), - Ok(())); - assert_match!(p.assert(NetworkPolicy::Encrypted), - Ok(())); - assert_match!(p.assert(NetworkPolicy::Insecure), - Ok(())); + assert_match!( + Ok(()) = p.assert(NetworkPolicy::Anonymized)); + assert_match!( + Ok(()) = p.assert(NetworkPolicy::Encrypted)); + assert_match!( + Ok(()) = p.assert(NetworkPolicy::Insecure)); } } |