3 use std
::collections
::BTreeMap
;
5 use toml
::Value
::{String, Integer, Float, Boolean, Array, Table}
;
7 macro_rules
! map( ($
($k
:expr
=> $v
:expr
),*) => ({
8 let mut _m
= BTreeMap
::new();
9 $
(_m
.insert($k
.to_string(), $v
);)*
15 assert_eq
!(String("foo".to_string()).to_string(),
17 assert_eq
!(Integer(10).to_string(),
19 assert_eq
!(Float(10.0).to_string(),
21 assert_eq
!(Float(2.4).to_string(),
23 assert_eq
!(Boolean(true).to_string(),
25 assert_eq
!(Array(vec
![]).to_string(),
27 assert_eq
!(Array(vec
![Integer(1), Integer(2)]).to_string(),
33 assert_eq
!(Table(map
! { }
).to_string(),
35 assert_eq
!(Table(map
! {
37 "test2" => Integer(3) }).to_string(),
38 "test = 2\ntest2 = 3\n");
39 assert_eq
!(Table(map
! {
41 "test2" => Table(map
! {
42 "test" => String("wut".to_string())
49 assert_eq
!(Table(map
! {
51 "test2" => Table(map
! {
52 "test" => String("wut".to_string())
59 assert_eq
!(Table(map
! {
61 "test2" => Array(vec
![Table(map
! {
62 "test" => String("wut".to_string())
69 assert_eq
!(Table(map
! {
70 "foo.bar" => Integer(2),
71 "foo\"bar" => Integer(2)
73 "\"foo\\\"bar\" = 2\n\
75 assert_eq
!(Table(map
! {
77 "test2" => Array(vec
![Table(map
! {
78 "test" => Array(vec
![Integer(2)])
85 let table
= Table(map
! {
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())])])
92 assert_eq
!(table
.to_string(),
96 test = [[2, 3], [\"foo\", \"bar\"]]\n");
97 assert_eq
!(Table(map
! {
98 "test" => Array(vec
![Integer(2)]),