summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNora <nora.widdecke@tu-bs.de>2019-03-27 15:57:24 +0100
committerNora <nora.widdecke@tu-bs.de>2019-03-27 15:57:24 +0100
commit7fa21455b26ca579c8f19c3f918b447e4bb8ebb1 (patch)
tree20f8abb252040755a9104ca6074bc2a882d19d5e
parentcb0440387b5ef3ef3c2c65e72e60c425bab667ac (diff)
icalvevent: add test for dtstart and dtend
-rw-r--r--src/icalwrap/icalvevent.rs39
-rw-r--r--src/khevent.rs11
-rw-r--r--src/testdata.rs10
3 files changed, 59 insertions, 1 deletions
diff --git a/src/icalwrap/icalvevent.rs b/src/icalwrap/icalvevent.rs
index 2b48835..b27e003 100644
--- a/src/icalwrap/icalvevent.rs
+++ b/src/icalwrap/icalvevent.rs
@@ -261,6 +261,44 @@ mod tests {
}
#[test]
+ fn test_get_dtstart() {
+ let cal = IcalVCalendar::from_str(testdata::TEST_EVENT_MULTIDAY, None).unwrap();
+ let event = cal.get_principal_event();
+
+ assert_eq!(
+ IcalTime::floating_ymd(2007, 06, 28).and_hms(13, 29, 00),
+ event.get_dtstart().unwrap()
+ );
+ }
+
+ #[test]
+ fn test_get_dtstart_negative() {
+ let cal = IcalVCalendar::from_str(testdata::TEST_NO_DTSTART, None).unwrap();
+ let event = cal.get_principal_event();
+
+ assert!(event.get_dtstart().is_none());
+ }
+
+ #[test]
+ fn test_get_dtend() {
+ let cal = IcalVCalendar::from_str(testdata::TEST_EVENT_MULTIDAY, None).unwrap();
+ let event = cal.get_principal_event();
+
+ assert_eq!(
+ IcalTime::floating_ymd(2007, 7, 9).and_hms(7, 29, 00),
+ event.get_dtend().unwrap()
+ );
+ }
+
+ #[test]
+ fn test_get_dtend_negative() {
+ let cal = IcalVCalendar::from_str(testdata::TEST_NO_DTSTART, None).unwrap();
+ let event = cal.get_principal_event();
+
+ assert!(event.get_dtend().is_none());
+ }
+
+ #[test]
fn test_get_duration_internal_normal() {
let cal = IcalVCalendar::from_str(testdata::TEST_EVENT_MULTIDAY, None).unwrap();
let event = cal.get_principal_event();
@@ -354,5 +392,4 @@ mod tests {
assert_eq!(None, event.get_location());
}
-
}
diff --git a/src/khevent.rs b/src/khevent.rs
index d6c6e9b..41ca330 100644
--- a/src/khevent.rs
+++ b/src/khevent.rs
@@ -265,4 +265,15 @@ mod tests {
event.get_duration()
);
}
+
+ #[test]
+ fn test_get_dtstart() {
+ let event = KhEvent::from_str(testdata::TEST_DTSTART_ONLY_DATE, None).unwrap();
+
+ assert!(event.is_allday());
+ assert_eq!(
+ Some(IcalDuration::from_seconds(24 * 60 * 60)),
+ event.get_duration()
+ );
+ }
}
diff --git a/src/testdata.rs b/src/testdata.rs
index 9fc9c7e..0fa9cd6 100644
--- a/src/testdata.rs
+++ b/src/testdata.rs
@@ -216,6 +216,16 @@ pub static TEST_MULTIPLE_EVENTS: &str = indoc!("
END:VCALENDAR
");
+pub static TEST_NO_DTSTART: &str = indoc!("
+ BEGIN:VCALENDAR
+ VERSION:2.0
+ PRODID:-//ABC Corporation//NONSGML My Product//EN
+ BEGIN:VEVENT
+ UID:uid3
+ DTSTAMP:20070423T123432Z
+ END:VEVENT
+ END:VCALENDAR
+");
pub static TEST_NO_SUMMARY: &str = indoc!("
BEGIN:VCALENDAR