use super::defs::*;
use crate::test_data::*;
#[test]
fn capability_declared() {
test_require_capability("6855capa", "UTF8=ACCEPT");
}
#[test]
fn mailbox_names() {
let setup = set_up();
let mut clientu = setup.connect("6855manaU");
let mut clienta = setup.connect("6855manaA");
quick_log_in(&mut clientu);
quick_log_in(&mut clienta);
ok_command!(clientu, c("ENABLE UTF8=ACCEPT"));
ok_command!(clientu, c(r#"CREATE "6855mana/ünicöde""#));
ok_command!(clientu, c(r#"CREATE "6855mana/&AOQ-scii""#));
ok_command!(clienta, c(r#"CREATE "6855mana/&AOQ-scii""#));
command!(responses = clientu, c(r#"LIST "" 6855mana/*"#));
assert_eq!(4, responses.len());
let mut it = responses.into_iter();
match it.next().unwrap().response {
s::Response::List(ml) => assert_eq!("6855mana/&AOQ-scii", ml.name.raw),
r => panic!("Unexpected response: {:?}", r),
}
match it.next().unwrap().response {
s::Response::List(ml) => assert_eq!("6855mana/äscii", ml.name.raw),
r => panic!("Unexpected response: {:?}", r),
}
match it.next().unwrap().response {
s::Response::List(ml) => assert_eq!("6855mana/ünicöde", ml.name.raw),
r => panic!("Unexpected response: {:?}", r),
}
assert_tagged_ok(it.next().unwrap());
command!(responses = clienta, c(r#"LIST "" 6855mana/*"#));
assert_eq!(4, responses.len());
let mut it = responses.into_iter();
match it.next().unwrap().response {
s::Response::List(ml) => assert_eq!("6855mana/&-AOQ-scii", ml.name.raw),
r => panic!("Unexpected response: {:?}", r),
}
match it.next().unwrap().response {
s::Response::List(ml) => assert_eq!("6855mana/&AOQ-scii", ml.name.raw),
r => panic!("Unexpected response: {:?}", r),
}
match it.next().unwrap().response {
s::Response::List(ml) => {
assert_eq!("6855mana/&APw-nic&APY-de", ml.name.raw)
}
r => panic!("Unexpected response: {:?}", r),
}
assert_tagged_ok(it.next().unwrap());
}
#[test]
fn utf8_literal_append() {
let setup = set_up();
let mut client = setup.connect("6855ulia");
quick_log_in(&mut client);
quick_create(&mut client, "6855ulia");
client
.start_append(
"6855ulia",
s::AppendFragment {
utf8: true,
..s::AppendFragment::default()
},
ENRON_SMALL_MULTIPARTS[0],
)
.unwrap();
let mut buffer = Vec::new();
let mut responses = client.finish_append(&mut buffer).unwrap();
assert_tagged_no(responses.pop().unwrap());
ok_command!(client, c("ENABLE UTF8=ACCEPT"));
client
.start_append(
"6855ulia",
s::AppendFragment {
utf8: true,
..s::AppendFragment::default()
},
ENRON_SMALL_MULTIPARTS[0],
)
.unwrap();
buffer.clear();
let mut responses = client.finish_append(&mut buffer).unwrap();
assert_tagged_ok_any(responses.pop().unwrap());
client
.start_append(
"6855ulia",
s::AppendFragment {
utf8: true,
..s::AppendFragment::default()
},
ENRON_SMALL_MULTIPARTS[1],
)
.unwrap();
client
.append_item(s::AppendFragment::default(), ENRON_SMALL_MULTIPARTS[2])
.unwrap();
buffer.clear();
let mut responses = client.finish_append(&mut buffer).unwrap();
assert_tagged_ok_any(responses.pop().unwrap());
client
.start_append(
"6855ulia",
s::AppendFragment::default(),
ENRON_SMALL_MULTIPARTS[3],
)
.unwrap();
client
.append_item(
s::AppendFragment {
utf8: true,
..s::AppendFragment::default()
},
ENRON_SMALL_MULTIPARTS[4],
)
.unwrap();
buffer.clear();
let mut responses = client.finish_append(&mut buffer).unwrap();
assert_tagged_ok_any(responses.pop().unwrap());
}