[formatter] use value of last alternative (#4492)

fixes {fieldname|''} evaluating to the value of 'keywords-default'
instead of an empty string
pull/3678/merge
Mike Fährmann 1 year ago
parent f856987297
commit 93a7a89cf6
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -182,9 +182,10 @@ class StringFormatter():
if obj:
break
except Exception:
pass
obj = None
else:
obj = self.default
if obj is None:
obj = self.default
return fmt(obj)
return wrap

@ -340,6 +340,8 @@ class TestFormatter(unittest.TestCase):
self._run_test("{'foobar'[:3]}", value)
self._run_test("{z|'foo'}" , value)
self._run_test("{z|''|'foo'}" , value)
self._run_test("{z|''}" , "")
self._run_test("{''|''}" , "")
self._run_test("{_lit[foo]}" , value)
self._run_test("{_lit[foo]!u}" , value.upper())

Loading…
Cancel
Save