v0.1.1-pre.002
This commit is contained in:
22
crates/ksp-core-lib/tests/public_api.rs
Normal file
22
crates/ksp-core-lib/tests/public_api.rs
Normal file
@@ -0,0 +1,22 @@
|
||||
// file: crates/ksp-core-lib/tests/public_api.rs
|
||||
// version: 1
|
||||
|
||||
fn public_result() -> ksp_core_lib::Result<()> {
|
||||
let error = ksp_core_lib::Error::new(ksp_core_lib::ErrorCode::new("consumer", "failed"), "consumer failure").with_context("operation", "public_api");
|
||||
return std::result::Result::Err(error);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn error_contract_is_consumable_from_crate_root() {
|
||||
let result = public_result();
|
||||
assert!(result.is_err());
|
||||
let error = match result {
|
||||
std::result::Result::Ok(()) => return,
|
||||
std::result::Result::Err(error) => error,
|
||||
};
|
||||
assert_eq!(error.code(), ksp_core_lib::ErrorCode::new("consumer", "failed"));
|
||||
assert_eq!(error.message(), "consumer failure");
|
||||
assert_eq!(error.context(), &[ksp_core_lib::ErrorContext::new("operation", "public_api")]);
|
||||
assert_eq!(std::string::ToString::to_string(&error), "consumer.failed: consumer failure");
|
||||
return;
|
||||
}
|
||||
Reference in New Issue
Block a user