1 use serde::Deserialize;
2 use serde::Serialize;
3 use toml::to_string;
4
5 #[derive(Debug, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)]
6 struct User {
7 pub name: String,
8 pub surname: String,
9 }
10
11 #[derive(Debug, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)]
12 struct Users {
13 pub user: Vec<User>,
14 }
15
16 #[derive(Debug, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)]
17 struct TwoUsers {
18 pub user0: User,
19 pub user1: User,
20 }
21
22 #[test]
no_unnecessary_newlines_array()23 fn no_unnecessary_newlines_array() {
24 assert!(!to_string(&Users {
25 user: vec![
26 User {
27 name: "John".to_string(),
28 surname: "Doe".to_string(),
29 },
30 User {
31 name: "Jane".to_string(),
32 surname: "Dough".to_string(),
33 },
34 ],
35 })
36 .unwrap()
37 .starts_with('\n'));
38 }
39
40 #[test]
no_unnecessary_newlines_table()41 fn no_unnecessary_newlines_table() {
42 assert!(!to_string(&TwoUsers {
43 user0: User {
44 name: "John".to_string(),
45 surname: "Doe".to_string(),
46 },
47 user1: User {
48 name: "Jane".to_string(),
49 surname: "Dough".to_string(),
50 },
51 })
52 .unwrap()
53 .starts_with('\n'));
54 }
55