def test_varying_indents(self): file_string = """\ empty_section: level1 = new val section1: item1 = item 1 subsection: item2 = item 2 section2: subsection: item3 = 3 very_last = 7 """ cfg = SimplerConfig() cfg.loads(file_string) self.assertSetEqual( set(cfg.keys()), {'empty_section', 'level1', 'section1', 'section2', 'very_last'}) self.assertSetEqual(set(cfg.section1.keys()), {'item1', 'subsection'}) self.assertTrue(cfg['empty_section'].is_empty()) self.assertEqual(cfg.level1, "new val") self.assertEqual(cfg.section1.item1, "item 1") self.assertEqual(cfg.section1.subsection.item2, "item 2") self.assertEqual(cfg.section2.subsection.item3, 3) self.assertEqual(cfg['very_last'], 7)
def test_loads(self): file_string = """\ # Some comment empty_section: level1 = new val section1: # this is a comment for section1.item1: item1 = item 1 # this is another comment # Indented comment subsection: item2 = item 2 # Should be after section 1 section2: subsection: item3 = 3 very_last = 7 # Trailing comment """ cfg = SimplerConfig() cfg.loads(file_string) self.assertSetEqual( set(cfg.keys()), {'empty_section', 'level1', 'section1', 'section2', 'very_last'}) self.assertSetEqual(set(cfg.section1.keys()), {'item1', 'subsection'}) self.assertTrue(cfg['empty_section'].is_empty()) self.assertEqual(cfg.level1, "new val") self.assertEqual(cfg.section1.item1, "item 1") self.assertEqual(cfg.section1.subsection.item2, "item 2") self.assertEqual(cfg.section2.subsection.item3, 3) self.assertEqual(cfg['very last'], 7)