Mercurial > hgrepos > Python > libs > ConfigMix
diff tests/test.py @ 381:fe3dfd687621
Implemented Configuration.getfirstvarl() and Configuration.getfirstvarl_s()
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Wed, 10 Nov 2021 01:37:36 +0100 |
| parents | 0c65aac81807 |
| children | 0521e857c320 |
line wrap: on
line diff
--- a/tests/test.py Tue Nov 09 21:58:05 2021 +0100 +++ b/tests/test.py Wed Nov 10 01:37:36 2021 +0100 @@ -581,6 +581,130 @@ "db.non.existing.key2", default=u("true"))) + def test27_getfirstvarl_nonexisting(self): + cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) + self.assertRaises( + KeyError, + cfg.getfirstvarl, + [["db", "non", "existing", "key"], + ("db", "non", "existing", "key2")]) + + def test27b_getfirstvarl_nonexisting(self): + cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) + self.assertRaises( + KeyError, + cfg.getfirstvarl, + [{"namespace": None, "path": ["db", "non", "existing", "key"]}, + {"namespace": None, "path": ["db", "non", "existing", "key2"]}]) + + def test28_getfirstvarl_nonexisting(self): + cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) + self.assertIsNone(cfg.getfirstvarl( + [["db", "non", "existing", "key"], + ("db", "non", "existing", "key2")], + default=None)) + + def test28b_getfirstvarl_nonexisting(self): + cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) + self.assertIsNone(cfg.getfirstvarl( + [{"namespace": None, "path": ["db", "non", "existing", "key"]}, + {"namespace": None, "path": ("db", "non", "existing", "key2")}], + default=None)) + + def test29_getfirstvarl_existing(self): + cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) + self.assertEqual( + "test-configmix", + cfg.getfirstvarl(*(("intl", "domain"),))) + self.assertEqual( + "test-configmix", + cfg.getfirstvarl(*(("intl", "domain"), ("intl", "fallback")))) + self.assertEqual( + "de", + cfg.getfirstvarl(*[["intl", "fallback"], + ["intl", "domain"]], + default=None)) + self.assertEqual( + "de", + cfg.getfirstvarl(*[["intl", "non", "existing"], + ["intl", "fallback"]], + default=None)) + + def test29b_getfirstvarl_existing(self): + cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) + self.assertEqual( + "test-configmix", + cfg.getfirstvarl(*({"namespace": None, + "path": ("intl", "domain")},))) + self.assertEqual( + "test-configmix", + cfg.getfirstvarl(*({"namespace": None, + "path": ("intl", "domain")}, + {"namespace": None, "path": ("intl", "fallback")}))) + self.assertEqual( + "de", + cfg.getfirstvarl(*[{"namespace": None, "path": ["intl", "fallback"]}, + {"namespace": None, "path": ["intl", "domain"]}], + default=None)) + self.assertEqual( + "de", + cfg.getfirstvarl(*[{"namespace": None, "path": ["intl", "non", "existing"]}, + {"namespace": None, "path": ["intl", "fallback"]}], + default=None)) + + def test30_getfirstvarl_s_existing(self): + cfg = self._load( + os.path.join(TESTDATADIR, "conf20.yml"), + os.path.join(TESTDATADIR, "conf21.yml")) + self.assertEqual( + os.getcwd()+"/locale", + cfg.getfirstvarl_s(*[["intl", "non", "existing"], + ["intl", "localedir"]])) + self.assertEqual( + os.getcwd()+"/locale", + cfg.getfirstvarl_s(*[["intl", "localedir"], ["intl", "non", "existing"]])) + + def test30b_getfirstvarl_s_existing(self): + cfg = self._load( + os.path.join(TESTDATADIR, "conf20.yml"), + os.path.join(TESTDATADIR, "conf21.yml")) + self.assertEqual( + os.getcwd()+"/locale", + cfg.getfirstvarl_s(*[{"namespace": None, "path": ["intl", "non", "existing"]}, + {"namespace": None, "path": ["intl", "localedir"]}])) + self.assertEqual( + os.getcwd()+"/locale", + cfg.getfirstvarl_s(*[{"namespace": None, "path": ["intl", "localedir"]}, {"namespace": None, "path": ["intl", "non", "existing"]}])) + + def test31_getfirstvar_s_non_existing(self): + cfg = self._load( + os.path.join(TESTDATADIR, "conf20.yml"), + os.path.join(TESTDATADIR, "conf21.yml")) + self.assertIsNone( + cfg.getfirstvarl_s( + *[["intl", "non", "existing"], ["intl", "non", "existing2"]], + default=None)) + self.assertRaises( + KeyError, + cfg.getfirstvarl_s, + ["intl" ,"non", "existing"], + ["intl", "non", "existing2"]) + + def test31b_getfirstvar_s_non_existing(self): + cfg = self._load( + os.path.join(TESTDATADIR, "conf20.yml"), + os.path.join(TESTDATADIR, "conf21.yml")) + self.assertIsNone( + cfg.getfirstvarl_s( + *[{"namespace": None, "path": ["intl", "non", "existing"]}, + {"namespace": None, "path": ["intl", "non", "existing2"]}], + default=None)) + self.assertRaises( + KeyError, + cfg.getfirstvarl_s, + {"namespace": None, "path": ["intl" ,"non", "existing"]}, + {"namespace": None, "path": ["intl", "non", "existing2"]}) + class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase):
