From f0b4955b96225131de25d24213ea06f67abf3821 Mon Sep 17 00:00:00 2001 From: Paul Dicker Date: Fri, 9 Jun 2023 20:16:04 +0200 Subject: [PATCH] Test ISO 8601 parser can parse `Debug` output --- src/datetime/tests.rs | 9 +++++++++ src/naive/datetime/tests.rs | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/src/datetime/tests.rs b/src/datetime/tests.rs index ad172ee4a7..b3abfd9100 100644 --- a/src/datetime/tests.rs +++ b/src/datetime/tests.rs @@ -1085,3 +1085,12 @@ fn test_parse_from_iso8601() { ); assert_eq!(parse("1985102T2350,5+01"), Ok(datetime(1985, 4, 12, 23, 50, 30, 0, 3600))); } + +#[test] +fn test_iso8601_parses_debug() { + let parse = |s| DateTime::::parse_from_iso8601(s).map(|(dt, _)| dt); + + let dt = FixedOffset::east_opt(3600).unwrap().with_ymd_and_hms(12345, 6, 7, 8, 9, 10).unwrap(); + let debug = format!("{:?}", dt); + assert_eq!(parse(&debug), Ok(dt)); +} diff --git a/src/naive/datetime/tests.rs b/src/naive/datetime/tests.rs index 4bcaae7a5c..6de44a0e25 100644 --- a/src/naive/datetime/tests.rs +++ b/src/naive/datetime/tests.rs @@ -387,3 +387,12 @@ fn test_parse_from_iso8601() { // Test 24:00:00 wraps to the next day assert_eq!(parse("2023-06-09T24:00:00"), Ok(datetime(2023, 6, 10, 0, 0, 0, 0))); } + +#[test] +fn test_iso8601_parses_debug() { + let parse = |s| NaiveDateTime::parse_from_iso8601(s).map(|(dt, _)| dt); + + let dt = NaiveDate::from_ymd_opt(12345, 6, 7).unwrap().and_hms_nano_opt(8, 9, 10, 11).unwrap(); + let debug = format!("{:?}", dt); + assert_eq!(parse(&debug), Ok(dt)); +}