# HG changeset patch # User Franz Glasner # Date 1639920978 -3600 # Node ID ad1e630ba736bddb2441683465d76dd24bc3c69e # Parent 3387a9d5fb126f7b387f06a3cbf91e44ab512438 FIX: Do not filter-out all False values then interpolating (zero int, boolean False) diff -r 3387a9d5fb12 -r ad1e630ba736 configmix/config.py --- a/configmix/config.py Sun Dec 19 14:10:28 2021 +0100 +++ b/configmix/config.py Sun Dec 19 14:36:18 2021 +0100 @@ -781,8 +781,7 @@ # if (start == 0) and (rest == len_s): return varvalue - if not varvalue: - # None and/or empty str are handled equally here + if varvalue is None: pass else: res_append(str_and_u(varvalue)) diff -r 3387a9d5fb12 -r ad1e630ba736 tests/data/conf20.yml --- a/tests/data/conf20.yml Sun Dec 19 14:10:28 2021 +0100 +++ b/tests/data/conf20.yml Sun Dec 19 14:36:18 2021 +0100 @@ -101,6 +101,11 @@ Str: a string +test-falsy-values: + b: false + i: 0 + v: 'A{{test-falsy-values.b}}B{{test-falsy-values.i}}C' + to-be-deleted: 'a value' to-be-deleted-but-reassigned: 'another value' diff -r 3387a9d5fb12 -r ad1e630ba736 tests/test.py --- a/tests/test.py Sun Dec 19 14:10:28 2021 +0100 +++ b/tests/test.py Sun Dec 19 14:36:18 2021 +0100 @@ -1000,6 +1000,12 @@ cfg = configmix.load(os.path.join(TESTDATADIR, "conf1.ini")) self.assertEqual("22", cfg.getvarl_s("key103")) + def test05_expand_falsy_values(self): + cfg = configmix.load(os.path.join(TESTDATADIR, "conf20.yml")) + self.assertEqual( + u"AFalseB0C", + cfg.getvar_s("test-falsy-values.v")) + class T06References(unittest.TestCase):