use cfgmatic_source::prelude::*;
#[test]
fn test_source_error_not_found() {
let error = SourceError::not_found("config.toml");
assert!(error.to_string().contains("config.toml"));
assert!(error.to_string().contains("not found"));
}
#[test]
fn test_source_error_parse_failed() {
let error = SourceError::parse_failed("config.toml", "toml", "invalid syntax");
assert!(error.to_string().contains("toml"));
assert!(error.to_string().contains("invalid syntax"));
}
#[test]
fn test_source_error_io() {
let error = SourceError::io("permission denied");
assert!(error.to_string().contains("IO error"));
}
#[test]
fn test_source_error_invalid_format() {
let error = SourceError::invalid_format("toml", "yaml");
assert!(error.to_string().contains("Invalid format"));
assert!(error.to_string().contains("toml"));
assert!(error.to_string().contains("yaml"));
}
#[test]
fn test_source_error_from_io_error() {
let io_error = std::io::Error::new(std::io::ErrorKind::PermissionDenied, "access denied");
let error: SourceError = io_error.into();
assert!(error.is_io());
}