From a1d304b035ce0c6086c9769594994abdacdc28ae Mon Sep 17 00:00:00 2001 From: wyhaya Date: Thu, 6 Jun 2019 11:14:59 +0800 Subject: [PATCH 1/2] Add '0' to RFC2822 --- src/format/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/format/mod.rs b/src/format/mod.rs index a0a9333f5f..544088af02 100644 --- a/src/format/mod.rs +++ b/src/format/mod.rs @@ -553,7 +553,7 @@ pub fn format<'a, I>( let sec = t.second() + t.nanosecond() / 1_000_000_000; try!(write!( result, - "{}, {:2} {} {:04} {:02}:{:02}:{:02} ", + "{}, {:02} {} {:04} {:02}:{:02}:{:02} ", SHORT_WEEKDAYS[d.weekday().num_days_from_monday() as usize], d.day(), SHORT_MONTHS[d.month0() as usize], d.year(), t.hour(), t.minute(), sec From b1592e0e22371e5a085dc7db3f490539f78e8f1e Mon Sep 17 00:00:00 2001 From: Brandon W Maister Date: Mon, 24 Jun 2019 21:57:25 -0400 Subject: [PATCH 2/2] Add parse tests for fws and leading-0 to RFC2822 --- src/format/parse.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/format/parse.rs b/src/format/parse.rs index 6810f692e0..01e326eece 100644 --- a/src/format/parse.rs +++ b/src/format/parse.rs @@ -673,6 +673,8 @@ fn test_rfc2822() { // Test data - (input, Ok(expected result after parse and format) or Err(error code)) let testdates = [ ("Tue, 20 Jan 2015 17:35:20 -0800", Ok("Tue, 20 Jan 2015 17:35:20 -0800")), // normal case + ("Fri, 2 Jan 2015 17:35:20 -0800", Ok("Fri, 02 Jan 2015 17:35:20 -0800")), // folding whitespace + ("Fri, 02 Jan 2015 17:35:20 -0800", Ok("Fri, 02 Jan 2015 17:35:20 -0800")), // leading zero ("20 Jan 2015 17:35:20 -0800", Ok("Tue, 20 Jan 2015 17:35:20 -0800")), // no day of week ("20 JAN 2015 17:35:20 -0800", Ok("Tue, 20 Jan 2015 17:35:20 -0800")), // upper case month ("Tue, 20 Jan 2015 17:35 -0800", Ok("Tue, 20 Jan 2015 17:35:00 -0800")), // no second