diff options
Diffstat (limited to 'third_party/rust/ron/tests/struct_integers.rs')
-rw-r--r-- | third_party/rust/ron/tests/struct_integers.rs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/third_party/rust/ron/tests/struct_integers.rs b/third_party/rust/ron/tests/struct_integers.rs new file mode 100644 index 0000000000..385d53dab3 --- /dev/null +++ b/third_party/rust/ron/tests/struct_integers.rs @@ -0,0 +1,39 @@ +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] +struct S { + a: i8, + b: i16, + c: i32, + d: i64, + #[cfg(feature = "integer128")] + e: i128, + f: u8, + g: u16, + h: u32, + i: u64, + #[cfg(feature = "integer128")] + j: u128, +} + +#[test] +fn roundtrip() { + let s = S { + a: std::i8::MIN, + b: std::i16::MIN, + c: std::i32::MIN, + d: std::i64::MIN, + #[cfg(feature = "integer128")] + e: std::i128::MIN, + f: std::u8::MAX, + g: std::u16::MAX, + h: std::u32::MAX, + i: std::u64::MAX, + #[cfg(feature = "integer128")] + j: std::u128::MAX, + }; + let serialized = ron::ser::to_string(&s).unwrap(); + dbg!(&serialized); + let deserialized = ron::de::from_str(&serialized).unwrap(); + assert_eq!(s, deserialized,); +} |