summaryrefslogtreecommitdiff
path: root/tests/test_deserialize.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_deserialize.rs')
-rw-r--r--tests/test_deserialize.rs18
1 files changed, 18 insertions, 0 deletions
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);
}