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 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