1 #![allow(clippy::eq_op, clippy::shadow_unrelated, clippy::wildcard_imports)]
2
3 mod common;
4
5 use self::common::*;
6 use anyhow::ensure;
7
8 #[test]
test_messages()9 fn test_messages() {
10 assert_eq!("oh no!", bail_literal().unwrap_err().to_string());
11 assert_eq!("oh no!", bail_fmt().unwrap_err().to_string());
12 assert_eq!("oh no!", bail_error().unwrap_err().to_string());
13 }
14
15 #[test]
test_ensure()16 fn test_ensure() {
17 let f = || {
18 ensure!(1 + 1 == 2, "This is correct");
19 Ok(())
20 };
21 assert!(f().is_ok());
22
23 let v = 1;
24 let f = || {
25 ensure!(v + v == 2, "This is correct, v: {}", v);
26 Ok(())
27 };
28 assert!(f().is_ok());
29
30 let f = || {
31 ensure!(v + v == 1, "This is not correct, v: {}", v);
32 Ok(())
33 };
34 assert!(f().is_err());
35
36 let f = || {
37 ensure!(v + v == 1);
38 Ok(())
39 };
40 assert_eq!(
41 f().unwrap_err().to_string(),
42 "Condition failed: `v + v == 1`",
43 );
44 }
45