diff options
author | nabijaczleweli <nabijaczleweli@gmail.com> | 2016-09-06 21:16:21 +0200 |
---|---|---|
committer | nabijaczleweli <nabijaczleweli@gmail.com> | 2016-09-06 21:16:21 +0200 |
commit | 89384b1e0cd9b567060d74fb4554cd1de84352d0 (patch) | |
tree | 3cf95fd05e854d90c7e180f178ddd974e486ff7d | |
parent | 71e18d94d6465ba6c8bbe65c449f5c71d3474b01 (diff) | |
download | milf-rs-89384b1e0cd9b567060d74fb4554cd1de84352d0.tar.gz milf-rs-89384b1e0cd9b567060d74fb4554cd1de84352d0.zip |
Add tests for checking for extraneous leading newlines (or lack thereof)
Couldn't find a better place to put this (the "valid" and "invalid"
tests are just for parser) so I made a new test module
-rw-r--r-- | tests/formatting.rs | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/formatting.rs b/tests/formatting.rs new file mode 100644 index 0000000..b8f4082 --- /dev/null +++ b/tests/formatting.rs @@ -0,0 +1,52 @@ +extern crate rustc_serialize; +extern crate toml; +use toml::encode_str; + +#[derive(Debug, Clone, Hash, PartialEq, Eq, RustcEncodable, RustcDecodable)] +struct User { + pub name: String, + pub surname: String, +} + +#[derive(Debug, Clone, Hash, PartialEq, Eq, RustcEncodable, RustcDecodable)] +struct Users { + pub user: Vec<User>, +} + +#[derive(Debug, Clone, Hash, PartialEq, Eq, RustcEncodable, RustcDecodable)] +struct TwoUsers { + pub user0: User, + pub user1: User, +} + +#[test] +fn no_unnecessary_newlines_array() { + assert!(!encode_str(&Users { + user: vec![ + User { + name: "John".to_string(), + surname: "Doe".to_string(), + }, + User { + name: "Jane".to_string(), + surname: "Dough".to_string(), + }, + ], + }) + .starts_with("\n")); +} + +#[test] +fn no_unnecessary_newlines_table() { + assert!(!encode_str(&TwoUsers { + user0: User { + name: "John".to_string(), + surname: "Doe".to_string(), + }, + user1: User { + name: "Jane".to_string(), + surname: "Dough".to_string(), + }, + }) + .starts_with("\n")); +} |