Mercurial > hgrepos > Python > libs > ConfigMix
diff tests/test.py @ 140:d8d47893df5b
Unittests for custom configuration filename extensions
| author | Franz Glasner <hg@dom66.de> |
|---|---|
| date | Fri, 06 Apr 2018 22:54:45 +0200 |
| parents | 2f2e819e8d17 |
| children | 7e6ec99d5ff5 |
line wrap: on
line diff
--- a/tests/test.py Fri Apr 06 22:28:45 2018 +0200 +++ b/tests/test.py Fri Apr 06 22:54:45 2018 +0200 @@ -251,5 +251,48 @@ self.assertNotEqual(id(cfg), id(cfg2)) +class T04CustomExtension(unittest.TestCase): + + def setUp(self): + self._reset() + + def tearDown(self): + self._reset() + + def _reset(self): + configmix.clear_loader() + for ext in configmix.default_loaders: + configmix.set_loader(ext, configmix.default_loaders[ext]) + + def test01_additional(self): + configmix.set_loader(".conf", configmix.default_loaders[".yml"]) + cfg = configmix.load( + os.path.join(TESTDATADIR, "conf1.ini"), + os.path.join(TESTDATADIR, "conf30.conf")) + self.assertEqual(u("Umlaute: ÄÖÜäöüß"), cfg.getvar_s("key7")) + self.assertEqual(u("new value"), cfg.getvar_s("key-new")) + + def test02_only_style_wrong_style(self): + configmix.clear_loader() + configmix.set_loader(".conf", configmix.default_loaders[".yml"]) + + def _ld(): + return configmix.load(os.path.join(TESTDATADIR, "conf1.ini"), + os.path.join(TESTDATADIR, "conf30.conf")) + + self.assertRaises(ValueError, _ld) + + def test03_only_style_corrrect_style(self): + configmix.clear_loader() + configmix.set_loader(".conf", configmix.default_loaders[".yml"]) + cfg = configmix.load(os.path.join(TESTDATADIR, "conf30.conf")) + self.assertEqual(u("new value"), cfg.getvar_s("key-new")) + + def _g(): + return cfg.getvar_s("key7") + + self.assertRaises(KeyError, _g) + + if __name__ == "__main__": unittest.main()
