Skip to content

Commit 281d2eb

Browse files
authored
Merge pull request #137 from link2xt/imap4rev1-case
Update imap-proto and test that "IMAP4REV1" capability is accepted
2 parents 6c9611f + 2221cd2 commit 281d2eb

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ is-it-maintained-open-issues = { repository = "jonhoo/rust-imap" }
2525
native-tls = "0.2.2"
2626
regex = "1.0"
2727
bufstream = "0.1"
28-
imap-proto = "0.8"
29-
nom = "4.0"
28+
imap-proto = "0.9.0"
29+
nom = "5.0"
3030
base64 = "0.10"
3131
chrono = "0.4"
3232
lazy_static = "1.4"

src/parse.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,21 @@ mod tests {
351351
}
352352
}
353353

354+
#[test]
355+
fn parse_capability_case_insensitive_test() {
356+
// Test that "IMAP4REV1" (instead of "IMAP4rev1") is accepted
357+
let expected_capabilities = vec!["IMAP4rev1", "STARTTLS"];
358+
let lines = b"* CAPABILITY IMAP4REV1 STARTTLS\r\n";
359+
let (mut send, recv) = mpsc::channel();
360+
let capabilities = parse_capabilities(lines.to_vec(), &mut send).unwrap();
361+
// shouldn't be any unexpected responses parsed
362+
assert!(recv.try_recv().is_err());
363+
assert_eq!(capabilities.len(), 2);
364+
for e in expected_capabilities {
365+
assert!(capabilities.has_str(e));
366+
}
367+
}
368+
354369
#[test]
355370
#[should_panic]
356371
fn parse_capability_invalid_test() {

0 commit comments

Comments
 (0)