changeset 390:0521e857c320

Tests for getfirstintvarl_s()
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 10 Nov 2021 09:38:21 +0100
parents 44ef854da70a
children fd948c62908d
files tests/test.py
diffstat 1 files changed, 47 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test.py	Wed Nov 10 09:37:44 2021 +0100
+++ b/tests/test.py	Wed Nov 10 09:38:21 2021 +0100
@@ -705,6 +705,53 @@
             {"namespace": None, "path": ["intl" ,"non", "existing"]},
             {"namespace": None, "path": ["intl", "non", "existing2"]})
 
+    def test32_getfirstintvarl_s_nonexisting(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
+        self.assertIsNone(cfg.getfirstintvarl_s(
+            *(("db", "non", "existing", "key"),
+              ("db", "non", "existing", "key2"),
+              ("intl", "non", "existing")),
+            default=None))
+        self.assertRaises(
+            KeyError,
+            cfg.getfirstintvarl_s,
+            ("db", "non", "existing", "key"),
+            ("db", "non", "exksting", "key2"),
+            ("intl", "non", "existing"))
+
+    def test33_getfirstintvarl_s_nonexisting(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
+        self.assertEqual(
+            20,
+            cfg.getfirstintvarl_s(
+                *(("db", "non", "existing", ".key"),
+                  ("db", "non", "existing", "key2"),
+                  ("intl", "non", "existing")),
+                default=u("20")))
+        self.assertEqual(
+            30,
+            cfg.getfirstintvarl_s(
+                *(("db", "non", "existing", "key"),
+                  ("db", "non", "existing", "key2"),
+                  ("intl", "non", "existing")),
+                default=30))
+        self.assertRaises(
+            KeyError,
+            cfg.getfirstintvarl_s,
+            ("db", "non", "existing", "key"),
+            ("db", "non", "exksting", "key2"),
+            ("intl", "non", "existing"))
+
+    def test34_getfirstintvarl_s_existing(self):
+        cfg = self._load(os.path.join(TESTDATADIR, "conf20.yml"))
+        self.assertEqual(
+            10,
+            cfg.getfirstintvarl_s(
+                *(("db", "non", "existing", "key"),
+                  ("intl", "cache", "items"),
+                  ("db", "non", "existing", "key2")),
+                default=u("20")))
+
 
 class T02LoadAndMerge(_T02MixinLoadAndMerge, unittest.TestCase):