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