aboutsummaryrefslogtreecommitdiff
path: root/test-suite/tests/backcompat.rs
diff options
context:
space:
mode:
Diffstat (limited to 'test-suite/tests/backcompat.rs')
-rw-r--r--test-suite/tests/backcompat.rs24
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));
+}