Add testing whether load(dump(x)) is an identity in quickcheck
This commit is contained in:
parent
5039af6862
commit
6cb37b8e32
1 changed files with 5 additions and 4 deletions
|
@ -9,13 +9,14 @@ use yaml_rust::{Yaml, YamlEmitter, YamlLoader};
|
|||
quickcheck! {
|
||||
fn test_check_weird_keys(xs: Vec<String>) -> 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(&Yaml::Array(xs.into_iter().map(Yaml::String).collect())).unwrap();
|
||||
emitter.dump(&input).unwrap();
|
||||
}
|
||||
if let Err(err) = YamlLoader::load_from_str(&out_str) {
|
||||
return TestResult::error(err.description());
|
||||
match YamlLoader::load_from_str(&out_str) {
|
||||
Ok(output) => TestResult::from_bool(output.len() == 1 && input == output[0]),
|
||||
Err(err) => TestResult::error(err.description()),
|
||||
}
|
||||
TestResult::passed()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue