]> git.proxmox.com Git - rustc.git/blob - src/vendor/toml-0.3.2/tests/display.rs
New upstream version 1.19.0+dfsg1
[rustc.git] / src / vendor / toml-0.3.2 / tests / display.rs
1 extern crate toml;
2
3 use std::collections::BTreeMap;
4
5 use toml::Value::{String, Integer, Float, Boolean, Array, Table};
6
7 macro_rules! map( ($($k:expr => $v:expr),*) => ({
8 let mut _m = BTreeMap::new();
9 $(_m.insert($k.to_string(), $v);)*
10 _m
11 }) );
12
13 #[test]
14 fn simple_show() {
15 assert_eq!(String("foo".to_string()).to_string(),
16 "\"foo\"");
17 assert_eq!(Integer(10).to_string(),
18 "10");
19 assert_eq!(Float(10.0).to_string(),
20 "10.0");
21 assert_eq!(Float(2.4).to_string(),
22 "2.4");
23 assert_eq!(Boolean(true).to_string(),
24 "true");
25 assert_eq!(Array(vec![]).to_string(),
26 "[]");
27 assert_eq!(Array(vec![Integer(1), Integer(2)]).to_string(),
28 "[1, 2]");
29 }
30
31 #[test]
32 fn table() {
33 assert_eq!(Table(map! { }).to_string(),
34 "");
35 assert_eq!(Table(map! {
36 "test" => Integer(2),
37 "test2" => Integer(3) }).to_string(),
38 "test = 2\ntest2 = 3\n");
39 assert_eq!(Table(map! {
40 "test" => Integer(2),
41 "test2" => Table(map! {
42 "test" => String("wut".to_string())
43 })
44 }).to_string(),
45 "test = 2\n\
46 \n\
47 [test2]\n\
48 test = \"wut\"\n");
49 assert_eq!(Table(map! {
50 "test" => Integer(2),
51 "test2" => Table(map! {
52 "test" => String("wut".to_string())
53 })
54 }).to_string(),
55 "test = 2\n\
56 \n\
57 [test2]\n\
58 test = \"wut\"\n");
59 assert_eq!(Table(map! {
60 "test" => Integer(2),
61 "test2" => Array(vec![Table(map! {
62 "test" => String("wut".to_string())
63 })])
64 }).to_string(),
65 "test = 2\n\
66 \n\
67 [[test2]]\n\
68 test = \"wut\"\n");
69 assert_eq!(Table(map! {
70 "foo.bar" => Integer(2),
71 "foo\"bar" => Integer(2)
72 }).to_string(),
73 "\"foo\\\"bar\" = 2\n\
74 \"foo.bar\" = 2\n");
75 assert_eq!(Table(map! {
76 "test" => Integer(2),
77 "test2" => Array(vec![Table(map! {
78 "test" => Array(vec![Integer(2)])
79 })])
80 }).to_string(),
81 "test = 2\n\
82 \n\
83 [[test2]]\n\
84 test = [2]\n");
85 let table = Table(map! {
86 "test" => Integer(2),
87 "test2" => Array(vec![Table(map! {
88 "test" => Array(vec![Array(vec![Integer(2), Integer(3)]),
89 Array(vec![String("foo".to_string()), String("bar".to_string())])])
90 })])
91 });
92 assert_eq!(table.to_string(),
93 "test = 2\n\
94 \n\
95 [[test2]]\n\
96 test = [[2, 3], [\"foo\", \"bar\"]]\n");
97 assert_eq!(Table(map! {
98 "test" => Array(vec![Integer(2)]),
99 "test2" => Integer(2)
100 }).to_string(),
101 "test = [2]\n\
102 test2 = 2\n");
103 }