aboutsummaryrefslogtreecommitdiff
path: root/tests/formatting.rs
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2016-09-07 10:24:35 -0700
committerGitHub <noreply@github.com>2016-09-07 10:24:35 -0700
commitc0a0d0d7900fccfc12b52340e88167892c239141 (patch)
tree3cf95fd05e854d90c7e180f178ddd974e486ff7d /tests/formatting.rs
parent61dd5585f572b6b8ac2d45811cbb97430d82832f (diff)
parent89384b1e0cd9b567060d74fb4554cd1de84352d0 (diff)
downloadmilf-rs-c0a0d0d7900fccfc12b52340e88167892c239141.tar.gz
milf-rs-c0a0d0d7900fccfc12b52340e88167892c239141.zip
Merge pull request #111 from nabijaczleweli/master
Don't space out the first table or array if not needed
Diffstat (limited to 'tests/formatting.rs')
-rw-r--r--tests/formatting.rs52
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"));
+}