summaryrefslogtreecommitdiffstats
path: root/src/ser.rs
diff options
context:
space:
mode:
authorXX <freecoder.xx@gmail.com>2018-04-08 16:30:57 +0300
committerXX <freecoder.xx@gmail.com>2018-04-08 16:30:57 +0300
commit23ef2f466d972925ccae83a7394826457ebda27d (patch)
treeeab99ac1ee54d974c181a707dfbe018a8f4acdcc /src/ser.rs
parent52975a263612cea41fb3047a5e8f2bac9e1819b4 (diff)
Add ConfigSerializer
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);
+ }
+}