#[macro_use] extern crate serde_derive; extern crate milf; use milf::to_string; #[derive(Debug, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)] struct User { pub name: String, pub surname: String, } #[derive(Debug, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)] struct Users { pub user: Vec, } #[derive(Debug, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)] struct TwoUsers { pub user0: User, pub user1: User, } #[test] fn no_unnecessary_newlines_array() { assert!(!to_string(&Users { user: vec![ User { name: "John".to_string(), surname: "Doe".to_string(), }, User { name: "Jane".to_string(), surname: "Dough".to_string(), }, ], }) .unwrap() .starts_with("\n")); } #[test] fn no_unnecessary_newlines_table() { assert!(!to_string(&TwoUsers { user0: User { name: "John".to_string(), surname: "Doe".to_string(), }, user1: User { name: "Jane".to_string(), surname: "Dough".to_string(), }, }) .unwrap() .starts_with("\n")); }