Test default error formatting
This commit is contained in:
+45
-12
@@ -492,31 +492,64 @@ mod test {
|
|||||||
WithStringContentFmt(String),
|
WithStringContentFmt(String),
|
||||||
}
|
}
|
||||||
|
|
||||||
fn failing_a() -> Result<(), SomeErrorEnumA> {
|
#[derive(Debug, ThisError, Serialize, Deserialize)]
|
||||||
|
enum SomeErrorEnumB0 {
|
||||||
|
FromA(#[from] SomeErrorEnumA),
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, ThisError, Serialize, Deserialize)]
|
||||||
|
enum SomeErrorEnumB1 {
|
||||||
|
FromA(#[from] SomeErrorEnumA),
|
||||||
|
#[error("caffe")]
|
||||||
|
Caffe(SomeErrorEnumA),
|
||||||
|
}
|
||||||
|
|
||||||
|
fn failing_a_00() -> Result<(), SomeErrorEnumA> {
|
||||||
Err(SomeErrorEnumA::BadCase)
|
Err(SomeErrorEnumA::BadCase)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
fn failing_b0_00() -> Result<(), SomeErrorEnumB0> {
|
||||||
fn error_handle_00() {
|
let ret = failing_a_00()?;
|
||||||
assert_eq!(format!("{}", SomeErrorEnumA::BadCase), "BadCase");
|
Ok(ret)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn failing_b1_00() -> Result<(), SomeErrorEnumB1> {
|
||||||
|
let ret = failing_a_00()?;
|
||||||
|
Ok(ret)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn error_handle_01() {
|
fn error_handle_a_00() {
|
||||||
|
assert_eq!(format!("{}", SomeErrorEnumA::BadCase), "SomeErrorEnumA::BadCase");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn error_handle_a_01() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
format!("{}", SomeErrorEnumA::WithStringContent(format!("inner"))),
|
SomeErrorEnumA::WithStringContent(format!("inner")).to_string(),
|
||||||
"WithStringContent"
|
"SomeErrorEnumA::WithStringContent"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn error_handle_02() {
|
fn error_handle_a_02() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
format!(
|
SomeErrorEnumA::WithStringContentFmt(format!("inner failure \"quoted\"")).to_string(),
|
||||||
"{}",
|
|
||||||
SomeErrorEnumA::WithStringContentFmt(format!("inner failure \"quoted\""))
|
|
||||||
),
|
|
||||||
"bad: inner failure \"quoted\""
|
"bad: inner failure \"quoted\""
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn error_handle_b0_00() {
|
||||||
|
let e = failing_b0_00().unwrap_err();
|
||||||
|
let s = e.to_string();
|
||||||
|
assert_eq!(s, "SomeErrorEnumB0::FromA(SomeErrorEnumA::BadCase)");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn error_handle_b1_00() {
|
||||||
|
let e = failing_b1_00().unwrap_err();
|
||||||
|
let s = e.to_string();
|
||||||
|
assert_eq!(s, "SomeErrorEnumB1::FromA(SomeErrorEnumA::BadCase)");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user