def test_other_functions(self): # Test assumes it self.assert_false(os.path.exists(self.cfg_file)) cfg = IniConfig() cfg.open(self.cfg_file) # testing has self.assert_false(cfg.has('an', 'apple')) cfg.set('an', 'apple', 'is red') self.assert_equal(cfg.get('an', 'apple'), 'is red') self.assert_true(cfg.has('an', 'apple')) cfg.remove('an', 'apple') self.assert_false(cfg.has('an', 'apple')) # cfg must not be empty cfg.set('an', 'apple', 'is red') self.assert_equal(cfg.get('an', 'apple'), 'is red') # testing default return values self.assert_equal(cfg.get_sections(), ['an']) self.assert_equal(cfg.get_options('an'), ['apple']) self.assert_equal(cfg.get_options('death star'), []) self.assert_equal(cfg.get('siths', 'darth vader'), None) cfg.set('an apple', 'is red', '!%@#""' + "\nangry bird") self.assert_equal(cfg.get('an apple', 'is red'), '!%@#""' + "\nangry bird") self.assert_equal(cfg.get_or_default_value('an apple', 'is red', 'green'), '!%@#""' + "\nangry bird") self.assert_equal(cfg.get_or_default_value('an apple', 'is not red', 'green'), 'green')
def __load_inverse_bool_item(self, meta_config_entry: typing.Dict, config: IniConfig): section, option = self._get_section_option(meta_config_entry) if not config.has(section, option): return meta_config_entry['default'] else: value = config.get(section, option) return not convert_to_bool(value)