1 #![cfg(all(feature = "parse", feature = "display"))]
6 impl toml_test_harness::Encoder for Encoder {
7 fn name(&self) -> &str {
11 fn encode(&self, data: toml_test_harness::Decoded) -> Result<String, toml_test_harness::Error> {
12 let value = from_decoded(&data)?;
13 let s = toml::to_string(&value).map_err(toml_test_harness::Error::new)?;
19 decoded: &toml_test_harness::Decoded,
20 ) -> Result<toml::Value, toml_test_harness::Error> {
21 let value = match decoded {
22 toml_test_harness::Decoded::Value(value) => from_decoded_value(value)?,
23 toml_test_harness::Decoded::Table(value) => toml::Value::Table(from_table(value)?),
24 toml_test_harness::Decoded::Array(value) => toml::Value::Array(from_array(value)?),
29 fn from_decoded_value(
30 decoded: &toml_test_harness::DecodedValue,
31 ) -> Result<toml::Value, toml_test_harness::Error> {
33 toml_test_harness::DecodedValue::String(value) => Ok(toml::Value::String(value.clone())),
34 toml_test_harness::DecodedValue::Integer(value) => value
36 .map_err(toml_test_harness::Error::new)
37 .map(toml::Value::Integer),
38 toml_test_harness::DecodedValue::Float(value) => value
40 .map_err(toml_test_harness::Error::new)
41 .map(toml::Value::Float),
42 toml_test_harness::DecodedValue::Bool(value) => value
44 .map_err(toml_test_harness::Error::new)
45 .map(toml::Value::Boolean),
46 toml_test_harness::DecodedValue::Datetime(value) => value
47 .parse::<toml::value::Datetime>()
48 .map_err(toml_test_harness::Error::new)
49 .map(toml::Value::Datetime),
50 toml_test_harness::DecodedValue::DatetimeLocal(value) => value
51 .parse::<toml::value::Datetime>()
52 .map_err(toml_test_harness::Error::new)
53 .map(toml::Value::Datetime),
54 toml_test_harness::DecodedValue::DateLocal(value) => value
55 .parse::<toml::value::Datetime>()
56 .map_err(toml_test_harness::Error::new)
57 .map(toml::Value::Datetime),
58 toml_test_harness::DecodedValue::TimeLocal(value) => value
59 .parse::<toml::value::Datetime>()
60 .map_err(toml_test_harness::Error::new)
61 .map(toml::Value::Datetime),
66 decoded: &std::collections::HashMap<String, toml_test_harness::Decoded>,
67 ) -> Result<toml::value::Table, toml_test_harness::Error> {
71 let v = from_decoded(v)?;
78 decoded: &[toml_test_harness::Decoded],
79 ) -> Result<toml::value::Array, toml_test_harness::Error> {
80 decoded.iter().map(from_decoded).collect()