#[cfg(test)] mod tests { use std::str::FromStr; use edn_rs::Edn; fn edn_to_string_unwrap(s: &str) -> String { Edn::from_str(s).unwrap().to_string() } #[test] fn map_formatting() { let edn = edn_to_string_unwrap("{nil \"`HQ5|>^>rQNL9E..y#}U63/S_Qo- IMpw>gnM']jD\"}"); assert_eq!(edn, "{nil \"`HQ5|>^>rQNL9E..y#}U63/S_Qo- IMpw>gnM']jD\"}"); } #[test] fn array_formatting() { let edn = edn_to_string_unwrap("[#inst \"2014-06-01T08:11:11.296-00:00\", #inst \"2018-07-02T19:56:08.059-00:00\", #inst \"1985-05-21T13:50:33.038-00:00\"]"); assert_eq!(edn, "[#inst \"2014-06-01T08:11:11.296-00:00\" #inst \"2018-07-02T19:56:08.059-00:00\" #inst \"1985-05-21T13:50:33.038-00:00\"]"); } #[test] fn char_formatting() { let edn = edn_to_string_unwrap("(\\b \\g \\m)"); assert_eq!(edn, "(\\b \\g \\m)"); assert_eq!(edn_to_string_unwrap("[\\space \\@ \\` \\tab \\return \\newline \\# \\% \\' \\g \\( \\* \\j \\+ \\, \\l \\- \\. \\/ \\0 \\2 \\r \\: \\; \\< \\\\ \\] \\} \\~ \\? \\_]"), "[\\space \\@ \\` \\tab \\return \\newline \\# \\% \\' \\g \\( \\* \\j \\+ \\, \\l \\- \\. \\/ \\0 \\2 \\r \\: \\; \\< \\\\ \\] \\} \\~ \\? \\_]") } }