🐛 fix a bug where we didn't handle recurrence exceptions, causing duplicate events whenever a recurring event was moved
This commit is contained in:
parent
3044deb89f
commit
5310f19383
2 changed files with 75 additions and 24 deletions
48
src/tests.rs
48
src/tests.rs
|
@ -147,28 +147,34 @@ END:VCALENDAR
|
|||
tz: chrono_tz::America::Chicago,
|
||||
};
|
||||
let instances = ical.event_instances(¶ms)?;
|
||||
|
||||
assert_eq!(
|
||||
[
|
||||
instances[0].dtstart,
|
||||
instances[1].dtstart,
|
||||
instances[2].dtstart,
|
||||
],
|
||||
[
|
||||
DatePerhapsTime {
|
||||
dt: chicago_time(2025, 7, 8, 18, 0, 0),
|
||||
all_day: false,
|
||||
},
|
||||
DatePerhapsTime {
|
||||
dt: chicago_time(2025, 9, 9, 18, 0, 0),
|
||||
all_day: false,
|
||||
},
|
||||
DatePerhapsTime {
|
||||
dt: chicago_time(2025, 8, 14, 18, 0, 0),
|
||||
all_day: false,
|
||||
},
|
||||
]
|
||||
);
|
||||
|
||||
for instance in &instances {
|
||||
assert_eq!(instance.ev.get_summary(), Some("coil perm brush zippy"));
|
||||
}
|
||||
|
||||
assert_eq!(instances.len(), 3);
|
||||
|
||||
let expected_time = DatePerhapsTime {
|
||||
dt: chicago_time(2025, 7, 8, 18, 0, 0),
|
||||
all_day: false,
|
||||
};
|
||||
assert_eq!(instances[0].dtstart, expected_time);
|
||||
assert_eq!(instances[0].ev.get_summary(), Some("coil perm brush zippy"));
|
||||
|
||||
let expected_time = DatePerhapsTime {
|
||||
dt: chicago_time(2025, 8, 14, 18, 0, 0),
|
||||
all_day: false,
|
||||
};
|
||||
assert_eq!(instances[1].dtstart, expected_time);
|
||||
assert_eq!(instances[1].ev.get_summary(), Some("coil perm brush zippy"));
|
||||
|
||||
let expected_time = DatePerhapsTime {
|
||||
dt: chicago_time(2025, 9, 9, 18, 0, 0),
|
||||
all_day: false,
|
||||
};
|
||||
assert_eq!(instances[2].dtstart, expected_time);
|
||||
assert_eq!(instances[2].ev.get_summary(), Some("coil perm brush zippy"));
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue