Merge pull request #275 from ehuss/fix-datetime-trailing-space

Fix trailing space after date.
This commit is contained in:
Alex Crichton 2018-11-21 11:55:03 -06:00 committed by GitHub
commit c1c0cb2d1b
2 changed files with 8 additions and 7 deletions

View file

@ -1035,13 +1035,12 @@ impl<'a> Deserializer<'a> {
let start = self.tokens.substr_offset(date);
// Check for space separated date and time.
if let Some((_, Token::Whitespace(s))) = self.peek()? {
if s == " " {
self.next()?;
// Skip past the hour.
if let Some((_, Token::Keylike(_))) = self.peek()? {
self.next()?;
}
let mut lookahead = self.tokens.clone();
if let Ok(Some((_, Token::Whitespace(" ")))) = lookahead.next() {
// Check if hour follows.
if let Ok(Some((_, Token::Keylike(_)))) = lookahead.next() {
self.next()?; // skip space
self.next()?; // skip keylike hour
}
}

View file

@ -21,6 +21,8 @@ fn times() {
good("1997-09-09T09:09:09-09:09");
good("1997-09-09T09:09:09");
good("1997-09-09");
dogood("1997-09-09 ", "1997-09-09");
dogood("1997-09-09 # comment", "1997-09-09");
good("09:09:09");
good("1997-09-09T09:09:09.09Z");
good("1997-09-09T09:09:09.09+09:09");