summaryrefslogtreecommitdiffstats
path: root/src/ser.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ser.rs')
-rw-r--r--src/ser.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/ser.rs b/src/ser.rs
index 7ea1a43..0366472 100644
--- a/src/ser.rs
+++ b/src/ser.rs
@@ -609,3 +609,24 @@ impl ser::SerializeStructVariant for StringKeySerializer {
unreachable!()
}
}
+
+#[cfg(test)]
+mod test {
+ use super::*;
+ use serde::Serialize;
+
+ #[test]
+ fn test_struct() {
+ #[derive(Debug, Serialize, Deserialize, PartialEq)]
+ struct Test {
+ int: u32,
+ seq: Vec<String>,
+ }
+
+ let test = Test { int: 1, seq: vec!["a".to_string(), "b".to_string()] };
+ let config = Config::try_from(&test).unwrap();
+
+ let actual: Test = config.try_into().unwrap();
+ assert_eq!(test, actual);
+ }
+}