@@ -2636,4 +2636,37 @@ x3 = nb
2636
2636
]
2637
2637
) ;
2638
2638
}
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
+ }
2639
2672
}
0 commit comments