Merge pull request #549 from winding-lines/coverage

test(error): increasing test coverage of error module
This commit is contained in:
Sean McArthur
2015-05-28 10:39:08 -07:00

View File

@@ -129,7 +129,22 @@ mod tests {
macro_rules! from { macro_rules! from {
($from:expr => $error:pat) => { ($from:expr => $error:pat) => {
match Error::from($from) { match Error::from($from) {
$error => (), e @ $error => {
assert!(e.description().len() > 5);
} ,
_ => panic!("{:?}", $from)
}
}
}
macro_rules! from_and_cause {
($from:expr => $error:pat) => {
match Error::from($from) {
e @ $error => {
let desc = e.cause().unwrap().description();
assert_eq!(desc, $from.description().to_owned());
assert_eq!(desc, e.description());
},
_ => panic!("{:?}", $from) _ => panic!("{:?}", $from)
} }
} }
@@ -138,11 +153,11 @@ mod tests {
#[test] #[test]
fn test_from() { fn test_from() {
from!(io::Error::new(io::ErrorKind::Other, "other") => Io(..)); from_and_cause!(io::Error::new(io::ErrorKind::Other, "other") => Io(..));
from!(url::ParseError::EmptyHost => Uri(..)); from_and_cause!(url::ParseError::EmptyHost => Uri(..));
from_and_cause!(SslError::SslSessionClosed => Ssl(..));
from!(SslError::StreamError(io::Error::new(io::ErrorKind::Other, "ssl")) => Io(..)); from!(SslError::StreamError(io::Error::new(io::ErrorKind::Other, "ssl negotiation")) => Io(..));
from!(SslError::SslSessionClosed => Ssl(..));
from!(httparse::Error::HeaderName => Header); from!(httparse::Error::HeaderName => Header);