diff --git a/tests/json.rs b/tests/json.rs index 3558be9..5622f60 100644 --- a/tests/json.rs +++ b/tests/json.rs @@ -34,6 +34,29 @@ fn de() { assert_eq!(test.c, None); } +#[test] +fn de_reorder() { + #[derive(DeJson)] + pub struct Test { + pub a: f32, + pub b: f32, + c: Option, + d: Option, + } + + let json = r#"{ + "a": 1, + "d": "hello", + "b": 2.0, + }"#; + + let test: Test = DeJson::deserialize_json(json).unwrap(); + assert_eq!(test.a, 1.); + assert_eq!(test.b, 2.); + assert_eq!(test.d.unwrap(), "hello"); + assert_eq!(test.c, None); +} + #[test] fn de_options() { #[derive(DeJson)]