Merge branch 'master' into prevent-too-deep-recursion
This commit is contained in:
commit
1078665c32
2 changed files with 58 additions and 1 deletions
|
@ -13,4 +13,4 @@ repository = "https://github.com/chyh1990/yaml-rust"
|
||||||
linked-hash-map = ">=0.0.9, <0.6"
|
linked-hash-map = ">=0.0.9, <0.6"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
quickcheck = "0.6"
|
quickcheck = "0.7"
|
||||||
|
|
|
@ -639,6 +639,63 @@ c: ~
|
||||||
assert_eq!(first[0]["important"].as_bool().unwrap(), true);
|
assert_eq!(first[0]["important"].as_bool().unwrap(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_indentation_equality() {
|
||||||
|
|
||||||
|
let four_spaces = YamlLoader::load_from_str(r#"
|
||||||
|
hash:
|
||||||
|
with:
|
||||||
|
indentations
|
||||||
|
"#).unwrap().into_iter().next().unwrap();
|
||||||
|
|
||||||
|
let two_spaces = YamlLoader::load_from_str(r#"
|
||||||
|
hash:
|
||||||
|
with:
|
||||||
|
indentations
|
||||||
|
"#).unwrap().into_iter().next().unwrap();
|
||||||
|
|
||||||
|
let one_space = YamlLoader::load_from_str(r#"
|
||||||
|
hash:
|
||||||
|
with:
|
||||||
|
indentations
|
||||||
|
"#).unwrap().into_iter().next().unwrap();
|
||||||
|
|
||||||
|
let mixed_spaces = YamlLoader::load_from_str(r#"
|
||||||
|
hash:
|
||||||
|
with:
|
||||||
|
indentations
|
||||||
|
"#).unwrap().into_iter().next().unwrap();
|
||||||
|
|
||||||
|
assert_eq!(four_spaces, two_spaces);
|
||||||
|
assert_eq!(two_spaces, one_space);
|
||||||
|
assert_eq!(four_spaces, mixed_spaces);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_two_space_indentations() {
|
||||||
|
// https://github.com/kbknapp/clap-rs/issues/965
|
||||||
|
|
||||||
|
let s = r#"
|
||||||
|
subcommands:
|
||||||
|
- server:
|
||||||
|
about: server related commands
|
||||||
|
subcommands2:
|
||||||
|
- server:
|
||||||
|
about: server related commands
|
||||||
|
subcommands3:
|
||||||
|
- server:
|
||||||
|
about: server related commands
|
||||||
|
"#;
|
||||||
|
|
||||||
|
let out = YamlLoader::load_from_str(&s).unwrap();
|
||||||
|
let doc = &out.into_iter().next().unwrap();
|
||||||
|
|
||||||
|
println!("{:#?}", doc);
|
||||||
|
assert_eq!(doc["subcommands"][0]["server"], Yaml::Null);
|
||||||
|
assert!(doc["subcommands2"][0]["server"].as_hash().is_some());
|
||||||
|
assert!(doc["subcommands3"][0]["server"].as_hash().is_some());
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_recursion_depth_check_objects() {
|
fn test_recursion_depth_check_objects() {
|
||||||
let s = "{a:".repeat(10_000) + &"}".repeat(10_000);
|
let s = "{a:".repeat(10_000) + &"}".repeat(10_000);
|
||||||
|
|
Loading…
Reference in a new issue