summaryrefslogtreecommitdiffstats
path: root/src/icalwrap/icalvcalendar.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/icalwrap/icalvcalendar.rs')
-rw-r--r--src/icalwrap/icalvcalendar.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/icalwrap/icalvcalendar.rs b/src/icalwrap/icalvcalendar.rs
index cb9753b..2228503 100644
--- a/src/icalwrap/icalvcalendar.rs
+++ b/src/icalwrap/icalvcalendar.rs
@@ -368,6 +368,7 @@ impl Drop for IcalComponentOwner {
mod tests {
use super::*;
use crate::testdata;
+ use chrono::{Local,TimeZone};
#[test]
fn test_from_str_empty() {
@@ -527,6 +528,21 @@ mod tests {
}
#[test]
+ fn test_with_dtstart_timezone() {
+ testdata::setup();
+ let cal = IcalVCalendar::from_str(testdata::TEST_EVENT_MULTIDAY, None).unwrap();
+
+ let local_date = Local.ymd(2018, 1, 1).and_hms(11, 30, 20);
+ let timestamp = IcalTime::from(local_date);
+
+ let new_cal = cal.with_dtstart(&timestamp);
+
+ let event = new_cal.get_principal_event();
+ assert_eq!(timestamp, event.get_dtstart().unwrap());
+ assert_eq!("Europe/Berlin", event.get_dtstart().unwrap().get_timezone().unwrap().get_name());
+ }
+
+ #[test]
fn test_with_internal_timestamp() {
let cal = IcalVCalendar::from_str(testdata::TEST_EVENT_MULTIDAY, None).unwrap();