diff options
Diffstat (limited to 'test-suite/tests/backcompat.rs')
-rw-r--r-- | test-suite/tests/backcompat.rs | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/test-suite/tests/backcompat.rs b/test-suite/tests/backcompat.rs index 1b3f599..e06eefc 100644 --- a/test-suite/tests/backcompat.rs +++ b/test-suite/tests/backcompat.rs @@ -4,7 +4,7 @@ extern crate serde; use serde::de::Deserialize; #[test] -fn main() { +fn newlines_after_tables() { let s = " [a] foo = 1 [[b]] foo = 1 @@ -17,3 +17,25 @@ fn main() { assert_eq!(value["a"]["foo"].as_integer(), Some(1)); assert_eq!(value["b"][0]["foo"].as_integer(), Some(1)); } + +#[test] +fn allow_duplicate_after_longer() { + let s = " + [dependencies.openssl-sys] + version = 1 + + [dependencies] + libc = 1 + + [dependencies] + bitflags = 1 + "; + assert!(s.parse::<toml::Value>().is_err()); + + let mut d = toml::de::Deserializer::new(s); + d.set_allow_duplicate_after_longer_table(true); + let value = toml::Value::deserialize(&mut d).unwrap(); + assert_eq!(value["dependencies"]["openssl-sys"]["version"].as_integer(), Some(1)); + assert_eq!(value["dependencies"]["libc"].as_integer(), Some(1)); + assert_eq!(value["dependencies"]["bitflags"].as_integer(), Some(1)); +} |