# HG changeset patch # User Franz Glasner # Date 1626006402 -7200 # Node ID 18622d2656026d67769061da4783cc469db058da # Parent 4ff02a4f401a5fabe70304d296f23407d1b3e352 Unittests for ".getfirstvar()" diff -r 4ff02a4f401a -r 18622d265602 tests/test.py --- a/tests/test.py Sun Jul 11 14:19:35 2021 +0200 +++ b/tests/test.py Sun Jul 11 14:26:42 2021 +0200 @@ -462,6 +462,34 @@ self.assertFalse(cfg.getboolvar_s("non.existing.key", default=False)) + def test18_getfirstvar_nonexisting(self): + cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) + self.assertRaises( + KeyError, + cfg.getfirstvar, + "db.non.existing.key", + "db.non.existing.key2") + + def test19_getfirstvar_nonexisting_default(self): + cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) + self.assertIsNone(cfg.getfirstvar("db.non.existing.key", + "db.non.existing.key2", + "intl.non.existing", + default=None)) + + def test20_getfirstvar_existing(self): + cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml")) + self.assertEqual("test-configmix", cfg.getfirstvar("intl.domain")) + self.assertEqual("test-configmix", cfg.getfirstvar("intl.domain", + "intl.fallback")) + self.assertEqual("de", cfg.getfirstvar("intl.fallback", + "intl.domain", + default=None)) + + self.assertEqual("de", cfg.getfirstvar("intl.non.existing", + "intl.fallback", + default=None)) + class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase):