@@ -797,6 +797,32 @@ def test_clear(self):
797797 self .assertEqual (set (cf .sections ()), set ())
798798 self .assertEqual (set (cf [self .default_section ].keys ()), {'foo' })
799799
800+ def test_setitem (self ):
801+ cf = self .fromstring ("""
802+ [section1]
803+ name1 {0[0]} value1
804+ [section2]
805+ name2 {0[0]} value2
806+ [section3]
807+ name3 {0[0]} value3
808+ """ .format (self .delimiters ), defaults = {"nameD" : "valueD" })
809+ self .assertEqual (set (cf ['section1' ].keys ()), {'name1' , 'named' })
810+ self .assertEqual (set (cf ['section2' ].keys ()), {'name2' , 'named' })
811+ self .assertEqual (set (cf ['section3' ].keys ()), {'name3' , 'named' })
812+ self .assertEqual (cf ['section1' ]['name1' ], 'value1' )
813+ self .assertEqual (cf ['section2' ]['name2' ], 'value2' )
814+ self .assertEqual (cf ['section3' ]['name3' ], 'value3' )
815+ self .assertEqual (cf .sections (), ['section1' , 'section2' , 'section3' ])
816+ cf ['section2' ] = {'name22' : 'value22' }
817+ self .assertEqual (set (cf ['section2' ].keys ()), {'name22' , 'named' })
818+ self .assertEqual (cf ['section2' ]['name22' ], 'value22' )
819+ self .assertNotIn ('name2' , cf ['section2' ])
820+ self .assertEqual (cf .sections (), ['section1' , 'section2' , 'section3' ])
821+ cf ['section3' ] = {}
822+ self .assertEqual (set (cf ['section3' ].keys ()), {'named' })
823+ self .assertNotIn ('name3' , cf ['section3' ])
824+ self .assertEqual (cf .sections (), ['section1' , 'section2' , 'section3' ])
825+
800826
801827class StrictTestCase (BasicTestCase ):
802828 config_class = configparser .RawConfigParser
0 commit comments