#[cfg(test)]
mod tests {
use emlx::*;
#[test]
fn test_email1() {
let contents = include_bytes!("emails/1.emlx");
let parsed = parse_emlx(contents).unwrap();
assert_eq!(parsed.dictionary["color"].as_string().unwrap(), "000000");
assert!(parsed.flags.is_read);
assert!(parsed.flags.is_not_junk);
}
#[test]
fn test_email2() {
let contents = include_bytes!("emails/2.emlx");
let parsed = parse_emlx(contents).unwrap();
assert_eq!(
parsed.dictionary["conversation-id"]
.as_unsigned_integer()
.unwrap(),
123456
);
assert!(parsed.flags.is_draft);
}
#[test]
fn test_email3() {
let contents = include_bytes!("emails/3.emlx");
let parsed = parse_emlx(contents).unwrap();
assert!(parsed.flags.is_read);
}
#[test]
fn test_email4() {
let contents = include_bytes!("emails/4.emlx");
let parsed = parse_emlx(contents).unwrap();
assert_eq!(
parsed.dictionary["date-last-viewed"].as_real().unwrap(),
0.0
);
}
#[test]
fn test_emails_broken() {
let contents = include_bytes!("emails/broken1.emlx");
assert!(parse_emlx(contents).is_err());
let contents = include_bytes!("emails/broken2.emlx");
assert!(parse_emlx(contents).is_err());
let contents = include_bytes!("emails/broken3.emlx");
assert!(parse_emlx(contents).is_err());
}
}