From 17642c3735e3a8474919284a15df94ccec9e4da6 Mon Sep 17 00:00:00 2001 From: Pouya Mobasher Behrouz <pooyamb@gmail.com> Date: Mon, 7 Dec 2020 05:38:11 +0330 Subject: Support enum unit variants as map keys (#37) --- tests/test_deserialize.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'tests/test_deserialize.rs') diff --git a/tests/test_deserialize.rs b/tests/test_deserialize.rs index 8d518ee..f0ccee9 100644 --- a/tests/test_deserialize.rs +++ b/tests/test_deserialize.rs @@ -640,5 +640,23 @@ fn deserialize_plus() { #[test] fn deserialize_vec_of_structs() { +} + +#[test] +fn deserialize_map_with_unit_enum_keys() { + #[derive(Deserialize, Eq, PartialEq, Hash)] + enum Operator { + Lt, + Gt, + } + + #[derive(Deserialize)] + struct Filter { + point: HashMap<Operator, u64>, + } + + let test: Filter = serde_qs::from_str("point[Gt]=123&point[Lt]=321").unwrap(); + assert_eq!(test.point[&Operator::Gt], 123); + assert_eq!(test.point[&Operator::Lt], 321); } -- cgit v1.2.3