Skip to content

Commit 2fdbbe2

Browse files
committed
fix: issue in parsing am pm exact time with timezone
1 parent 5dac423 commit 2fdbbe2

File tree

2 files changed

+33
-4
lines changed

2 files changed

+33
-4
lines changed

src/am_pm_time.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ pub struct AmPmTime {
1616

1717
impl AmPmTime {
1818
pub fn parse(input: &str) -> NomResult<&str, AmPmTime> {
19-
all_consuming(map(
19+
map(
2020
(parse_hms(HmsFormat::H12), space1, AmPm::parse),
2121
|((hour, minute, second), _, period)| AmPmTime {
2222
hour,
2323
minute,
2424
second,
2525
period,
2626
},
27-
))
27+
)
2828
.parse(input)
2929
}
3030

src/when_input.rs

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,9 @@ impl WhenInput {
8787
#[cfg(test)]
8888
mod tests {
8989
use crate::{
90-
DateDuration, TimeDuration, TimeKind, WhenDate, WhenNamedTimezone, WhenRelativeDate,
91-
WhenRelativeTime, WhenTime, WhenTimezone, {WhenInput, WhenInputTime},
90+
AmPm, AmPmTime, DateDuration, TimeDuration, TimeKind, WhenDate, WhenExactTime, WhenInput,
91+
WhenInputTime, WhenNamedTimezone, WhenRelativeDate, WhenRelativeTime, WhenTime,
92+
WhenTimezone, WhenUtcOffset, WhenUtcOffsetSign,
9293
};
9394

9495
#[test]
@@ -166,4 +167,32 @@ mod tests {
166167
),)
167168
));
168169
}
170+
171+
#[test]
172+
fn parse_sth() {
173+
let out = WhenInput::parse("in 2 months at 8:30 PM in UTC-8");
174+
assert!(matches!(
175+
out,
176+
Ok((
177+
"",
178+
WhenInput {
179+
time: WhenInputTime::DateAndTime {
180+
date: WhenDate::Relative(WhenRelativeDate::In(DateDuration::Months(2))),
181+
time: WhenTime::Exact(WhenExactTime::AmPm(AmPmTime {
182+
hour: 8,
183+
minute: 30,
184+
second: 0,
185+
period: AmPm::Pm,
186+
},),),
187+
},
188+
timezone: Some(WhenTimezone::UtcOffset(WhenUtcOffset {
189+
sign: WhenUtcOffsetSign::Minus,
190+
hour: 8,
191+
minute: 0,
192+
second: 0,
193+
},),),
194+
},
195+
),)
196+
));
197+
}
169198
}

0 commit comments

Comments
 (0)