summaryrefslogtreecommitdiffstats
path: root/tests/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib.rs')
-rw-r--r--tests/lib.rs35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/lib.rs b/tests/lib.rs
index ea5c499..d5e4f24 100644
--- a/tests/lib.rs
+++ b/tests/lib.rs
@@ -40,6 +40,8 @@ fn test_line_cont() {
VERSION:2.1\n\
N;ENCODING=QUOTED-PRINTABLE:Nikdo;Nikdo=\n\t\
vic\n\
+ FN;ENCODING=QUOTED-PRINT\n \
+ ABLE:Alice;Alice=vic\n\
NOTE:This ends with equal sign=\n\
TEL;WORK:5555\n \
4444\n\
@@ -48,6 +50,7 @@ fn test_line_cont() {
assert_eq!(item.name, s!("VCARD"));
assert_eq!(item.single_prop("TEL").unwrap().raw_value, s!("55554444"));
assert_eq!(item.single_prop("N").unwrap().raw_value, s!("Nikdo;Nikdo=vic"));
+ assert_eq!(item.single_prop("FN").unwrap().raw_value, s!("Alice;Alice=vic"));
}
#[test]
@@ -81,6 +84,38 @@ fn test_icalendar_basic() {
}
#[test]
+fn test_icalendar_multline() {
+ // Adapted from a very popular provider's export
+ // this used to give ParseError { desc: "Expected :, found \n" }
+ let event = parse_component(
+ "BEGIN:VEVENT\n\
+ ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=Jo\n \
+ hn Doe;X-NUM-GUESTS=0:mailto:jd@cal.test\n\
+ SUMMARY:Important meeting\n\
+ END:VEVENT\n").unwrap();
+
+ assert_eq!(event.name, s!("VEVENT"));
+ assert_eq!(event.single_prop("SUMMARY").unwrap().raw_value,
+ s!("Important meeting"));
+}
+
+#[test]
+fn test_icalendar_multline2() {
+ // Adapted from a very popular provider's export
+ // this used to give ParseError { desc: "No property name found." }
+ let event = parse_component(
+ "BEGIN:VCALENDAR\n\
+ BEGIN:VEVENT\n\
+ ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=Jo\n \
+ hn Doe;X-NUM-GUESTS=0:mailto:jd@cal.test\n\
+ SUMMARY:Important meeting\n\
+ END:VEVENT\n\
+ END:VCALENDAR\n").unwrap();
+
+ assert_eq!(event.name, s!("VCALENDAR"));
+}
+
+#[test]
fn test_escaping() {
let item = parse_component(
"BEGIN:VCALENDAR\n\