summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_regression.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/test_regression.rs b/tests/test_regression.rs
new file mode 100644
index 0000000..7d2f492
--- /dev/null
+++ b/tests/test_regression.rs
@@ -0,0 +1,25 @@
+extern crate serde;
+#[macro_use]
+extern crate serde_derive;
+extern crate serde_qs as qs;
+
+#[test]
+fn double_encoding_keys() {
+ #[derive(Debug, Serialize, Deserialize, PartialEq)]
+ struct Human {
+ #[serde(rename = "full name")]
+ name: String,
+ }
+
+ let human = Human {
+ name: "John Doe".to_string(),
+ };
+
+ let encoded = serde_qs::to_string(&human).unwrap();
+ print!("{}", encoded);
+ assert_eq!(
+ serde_qs::from_str::<Human>(&encoded)
+ .unwrap(),
+ human
+ );
+}