changeset 370:18622d265602

Unittests for ".getfirstvar()"
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 11 Jul 2021 14:26:42 +0200
parents 4ff02a4f401a
children 873b9d2ecb0b
files tests/test.py
diffstat 1 files changed, 28 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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):