Skip to content

Commit 3decb9b

Browse files
committed
add test for chained and separate SectionSetter calls
1 parent fd67ca5 commit 3decb9b

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

src/lib.rs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2636,4 +2636,37 @@ x3 = nb
26362636
]
26372637
);
26382638
}
2639+
2640+
#[test]
2641+
fn section_setter_chain() {
2642+
// fix issue #134
2643+
2644+
let mut ini = Ini::new();
2645+
let mut section_setter = ini.with_section(Some("section"));
2646+
2647+
// chained set() calls work
2648+
section_setter.set("a", "1").set("b", "2");
2649+
// separate set() calls work
2650+
section_setter.set("c", "3");
2651+
2652+
assert_eq!("1", section_setter.get("a").unwrap());
2653+
assert_eq!("2", section_setter.get("b").unwrap());
2654+
assert_eq!("3", section_setter.get("c").unwrap());
2655+
2656+
// overwrite values
2657+
section_setter.set("a", "4").set("b", "5");
2658+
section_setter.set("c", "6");
2659+
2660+
assert_eq!("4", section_setter.get("a").unwrap());
2661+
assert_eq!("5", section_setter.get("b").unwrap());
2662+
assert_eq!("6", section_setter.get("c").unwrap());
2663+
2664+
// delete entries
2665+
section_setter.delete(&"a").delete(&"b");
2666+
section_setter.delete(&"c");
2667+
2668+
assert!(section_setter.get("a").is_none());
2669+
assert!(section_setter.get("b").is_none());
2670+
assert!(section_setter.get("c").is_none());
2671+
}
26392672
}

0 commit comments

Comments
 (0)