mirror of https://github.com/zkat/miette.git
Add more tests for diagnostic_source
This commit is contained in:
parent
0a4cf4ad24
commit
8ba24da443
|
|
@ -6,15 +6,56 @@ struct AnErr;
|
|||
|
||||
#[derive(Debug, miette::Diagnostic, thiserror::Error)]
|
||||
#[error("TestError")]
|
||||
struct TestError {
|
||||
struct TestStructError {
|
||||
#[diagnostic_source]
|
||||
asdf_inner_foo: AnErr,
|
||||
}
|
||||
|
||||
#[derive(Debug, miette::Diagnostic, thiserror::Error)]
|
||||
#[error("TestError")]
|
||||
enum TestEnumError {
|
||||
Without,
|
||||
WithTuple(#[diagnostic_source] AnErr),
|
||||
WithStruct {
|
||||
#[diagnostic_source]
|
||||
inner: AnErr,
|
||||
},
|
||||
}
|
||||
|
||||
#[derive(Debug, miette::Diagnostic, thiserror::Error)]
|
||||
#[error("TestError")]
|
||||
struct TestTupleError(#[diagnostic_source] AnErr);
|
||||
|
||||
#[derive(Debug, miette::Diagnostic, thiserror::Error)]
|
||||
#[error("TestError")]
|
||||
struct TestBoxedError(#[diagnostic_source] Box<dyn Diagnostic>);
|
||||
|
||||
#[derive(Debug, miette::Diagnostic, thiserror::Error)]
|
||||
#[error("TestError")]
|
||||
struct TestArcedError(#[diagnostic_source] std::sync::Arc<dyn Diagnostic>);
|
||||
|
||||
#[test]
|
||||
fn test_diagnostic_source() {
|
||||
let error = TestError {
|
||||
let error = TestStructError {
|
||||
asdf_inner_foo: AnErr,
|
||||
};
|
||||
assert!(error.diagnostic_source().is_some());
|
||||
|
||||
let error = TestEnumError::Without;
|
||||
assert!(error.diagnostic_source().is_none());
|
||||
|
||||
let error = TestEnumError::WithTuple(AnErr);
|
||||
assert!(error.diagnostic_source().is_some());
|
||||
|
||||
let error = TestEnumError::WithStruct { inner: AnErr };
|
||||
assert!(error.diagnostic_source().is_some());
|
||||
|
||||
let error = TestTupleError(AnErr);
|
||||
assert!(error.diagnostic_source().is_some());
|
||||
|
||||
let error = TestBoxedError(Box::new(AnErr));
|
||||
assert!(error.diagnostic_source().is_some());
|
||||
|
||||
let error = TestArcedError(std::sync::Arc::new(AnErr));
|
||||
assert!(error.diagnostic_source().is_some());
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue