mirror of
https://github.com/eyre-rs/eyre.git
synced 2025-09-28 05:21:34 +00:00
65 lines
1.3 KiB
Rust
65 lines
1.3 KiB
Rust
mod common;
|
|
|
|
use self::common::*;
|
|
use std::io;
|
|
|
|
#[test]
|
|
fn test_downcast() {
|
|
assert_eq!(
|
|
"oh no!",
|
|
bail_literal().unwrap_err().downcast::<&str>().unwrap(),
|
|
);
|
|
assert_eq!(
|
|
"oh no!",
|
|
bail_fmt().unwrap_err().downcast::<String>().unwrap(),
|
|
);
|
|
assert_eq!(
|
|
"oh no!",
|
|
bail_error()
|
|
.unwrap_err()
|
|
.downcast::<io::Error>()
|
|
.unwrap()
|
|
.to_string(),
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn test_downcast_ref() {
|
|
assert_eq!(
|
|
"oh no!",
|
|
*bail_literal().unwrap_err().downcast_ref::<&str>().unwrap(),
|
|
);
|
|
assert_eq!(
|
|
"oh no!",
|
|
bail_fmt().unwrap_err().downcast_ref::<String>().unwrap(),
|
|
);
|
|
assert_eq!(
|
|
"oh no!",
|
|
bail_error()
|
|
.unwrap_err()
|
|
.downcast_ref::<io::Error>()
|
|
.unwrap()
|
|
.to_string(),
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn test_downcast_mut() {
|
|
assert_eq!(
|
|
"oh no!",
|
|
*bail_literal().unwrap_err().downcast_mut::<&str>().unwrap(),
|
|
);
|
|
assert_eq!(
|
|
"oh no!",
|
|
bail_fmt().unwrap_err().downcast_mut::<String>().unwrap(),
|
|
);
|
|
assert_eq!(
|
|
"oh no!",
|
|
bail_error()
|
|
.unwrap_err()
|
|
.downcast_mut::<io::Error>()
|
|
.unwrap()
|
|
.to_string(),
|
|
);
|
|
}
|