# HG changeset patch # User Franz Glasner # Date 1636533501 -3600 # Node ID 0521e857c320d5129eaeb340a88441c4b5664482 # Parent 44ef854da70acd64877a2e0218e18efed999b0ce Tests for getfirstintvarl_s() diff -r 44ef854da70a -r 0521e857c320 tests/test.py --- 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):