extern crate yaml_rust; #[macro_use] extern crate quickcheck; use quickcheck::TestResult; use yaml_rust::{Yaml, YamlEmitter, YamlLoader}; quickcheck! { fn test_check_weird_keys(xs: Vec) -> TestResult { let mut out_str = String::new(); let input = Yaml::Array(xs.into_iter().map(Yaml::String).collect()); { let mut emitter = YamlEmitter::new(&mut out_str); emitter.dump(&input).unwrap(); } match YamlLoader::load_from_str(&out_str) { Ok(output) => TestResult::from_bool(output.len() == 1 && input == output[0]), Err(err) => TestResult::error(err.to_string()), } } }