#[cfg(feature = "maildir")]
#[test]
fn test_maildir_config() {
use melib::maildir::Configuration;
use regex::Regex;
use tempfile::TempDir;
let tmp_dir = TempDir::new().unwrap();
let config = Configuration {
rename_regex: Some(Regex::new(r",U=\d\d*").unwrap()),
..Configuration::default()
};
let mut s: melib::AccountSettings = toml::from_str(&format!(
r#"
name = "foo"
root_mailbox = "{}"
format = "maildir"
identity = "foo@example.com"
subscribed_mailboxes = []
"#,
tmp_dir.path().display()
))
.unwrap();
melib::maildir::MaildirType::validate_config(&mut s).unwrap();
let mut s: melib::AccountSettings = toml::from_str(&format!(
r#"
name = "foo"
root_mailbox = "{}"
format = "maildir"
identity = "foo@example.com"
subscribed_mailboxes = []
rename_regex = ',U=\d\d*'
"#,
tmp_dir.path().display()
))
.unwrap();
assert_eq!(
melib::maildir::Configuration::new(&s)
.unwrap()
.rename_regex
.unwrap()
.as_str(),
config.rename_regex.as_ref().unwrap().as_str()
);
melib::maildir::MaildirType::validate_config(&mut s).unwrap();
let mut s: melib::AccountSettings = toml::from_str(&format!(
r#"
name = "foo"
root_mailbox = "{}"
format = "maildir"
identity = "foo@example.com"
subscribed_mailboxes = []
rename_regex = ",U=\\d\\d*"
"#,
tmp_dir.path().display()
))
.unwrap();
assert_eq!(
melib::maildir::Configuration::new(&s)
.unwrap()
.rename_regex
.unwrap()
.as_str(),
config.rename_regex.as_ref().unwrap().as_str()
);
melib::maildir::MaildirType::validate_config(&mut s).unwrap();
let mut s: melib::AccountSettings = toml::from_str(&format!(
r#"
name = "foo"
root_mailbox = "{}"
format = "maildir"
identity = "foo@example.com"
subscribed_mailboxes = []
rename_regex = ',U=\d\d*'
"#,
tmp_dir.path().display()
))
.unwrap();
assert_eq!(
melib::maildir::Configuration::new(&s)
.unwrap()
.rename_regex
.unwrap()
.as_str(),
config.rename_regex.as_ref().unwrap().as_str()
);
melib::maildir::MaildirType::validate_config(&mut s).unwrap();
_ = tmp_dir.close();
}