Mercurial > hgrepos > Python > libs > ConfigMix
changeset 516:ad1e630ba736
FIX: Do not filter-out all False values then interpolating (zero int, boolean False)
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sun, 19 Dec 2021 14:36:18 +0100 |
| parents | 3387a9d5fb12 |
| children | 328af767f5f8 |
| files | configmix/config.py tests/data/conf20.yml tests/test.py |
| diffstat | 3 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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))
--- 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'
--- 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):
