Skip to content

Commit 33db991

Browse files
committed
Allow spaces as separators for DateTime scalars as per RFC 3339 (time-rs/time#700)
1 parent 5f39b37 commit 33db991

File tree

3 files changed

+29
-3
lines changed

3 files changed

+29
-3
lines changed

juniper/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ serde = { version = "1.0.122", features = ["derive"] }
6161
serde_json = { version = "1.0.18", features = ["std"], default-features = false, optional = true }
6262
smartstring = "1.0"
6363
static_assertions = "1.1"
64-
time = { version = "0.3.35", features = ["formatting", "macros", "parsing"], optional = true }
64+
time = { version = "0.3.37", features = ["formatting", "macros", "parsing"], optional = true }
6565
url = { version = "2.0", optional = true }
6666
uuid = { version = "1.3", default-features = false, optional = true }
6767

juniper/src/integrations/bson.rs

+23-1
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,17 @@ mod date_time_test {
137137
.build()
138138
.unwrap(),
139139
),
140+
(
141+
"2014-11-28 21:00:09z",
142+
DateTime::builder()
143+
.year(2014)
144+
.month(11)
145+
.day(28)
146+
.hour(21)
147+
.second(9)
148+
.build()
149+
.unwrap(),
150+
),
140151
(
141152
"2014-11-28T21:00:09+00:00",
142153
DateTime::builder()
@@ -160,6 +171,18 @@ mod date_time_test {
160171
.build()
161172
.unwrap(),
162173
),
174+
(
175+
"2014-11-28 21:00:09.05+09:00",
176+
DateTime::builder()
177+
.year(2014)
178+
.month(11)
179+
.day(28)
180+
.hour(12)
181+
.second(9)
182+
.millisecond(50)
183+
.build()
184+
.unwrap(),
185+
),
163186
] {
164187
let input: InputValue = graphql_input_value!((raw));
165188
let parsed = DateTime::from_input_value(&input);
@@ -181,7 +204,6 @@ mod date_time_test {
181204
graphql_input_value!("56:34:22"),
182205
graphql_input_value!("56:34:22.000"),
183206
graphql_input_value!("1996-12-1914:23:43"),
184-
graphql_input_value!("1996-12-19 14:23:43Z"),
185207
graphql_input_value!("1996-12-19T14:23:43"),
186208
graphql_input_value!("1996-12-19T14:23:43ZZ"),
187209
graphql_input_value!("1996-12-19T14:23:43.543"),

juniper/src/integrations/time.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,7 @@ mod date_time_test {
490490
datetime!(2014-11-28 21:00:09 +9),
491491
),
492492
("2014-11-28T21:00:09Z", datetime!(2014-11-28 21:00:09 +0)),
493+
("2014-11-28 21:00:09z", datetime!(2014-11-28 21:00:09 +0)),
493494
(
494495
"2014-11-28T21:00:09+00:00",
495496
datetime!(2014-11-28 21:00:09 +0),
@@ -498,6 +499,10 @@ mod date_time_test {
498499
"2014-11-28T21:00:09.05+09:00",
499500
datetime!(2014-11-28 12:00:09.05 +0),
500501
),
502+
(
503+
"2014-11-28 21:00:09.05+09:00",
504+
datetime!(2014-11-28 12:00:09.05 +0),
505+
),
501506
] {
502507
let input: InputValue = graphql_input_value!((raw));
503508
let parsed = DateTime::from_input_value(&input);
@@ -519,7 +524,6 @@ mod date_time_test {
519524
graphql_input_value!("56:34:22"),
520525
graphql_input_value!("56:34:22.000"),
521526
graphql_input_value!("1996-12-1914:23:43"),
522-
graphql_input_value!("1996-12-19 14:23:43Z"),
523527
graphql_input_value!("1996-12-19T14:23:43"),
524528
graphql_input_value!("1996-12-19T14:23:43ZZ"),
525529
graphql_input_value!("1996-12-19T14:23:43.543"),

0 commit comments

Comments
 (0)