Skip to content

Commit 58e2c26

Browse files
committed
Bool or now returns False not 0 when subexpressions
are False; see issue #469
1 parent 7a9346d commit 58e2c26

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

custom_components/pyscript/eval.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1707,7 +1707,7 @@ async def ast_boolop(self, arg):
17071707
val = await self.aeval(arg1)
17081708
if val:
17091709
return val
1710-
return 0
1710+
return False
17111711

17121712
async def eval_elt_list(self, elts):
17131713
"""Evaluate and star list elements."""

tests/test_unit_eval.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@
5353
["0 or 0", 0],
5454
["0 or True", True],
5555
["0 or False", False],
56+
["False or True", True],
57+
["False or False", False],
58+
["isinstance(False or False, bool)", True],
5659
["f'{1} {2:02d} {3:.1f}'", "1 02 3.0"],
5760
[["x = None", "x is None"], True],
5861
["None is not None", False],

0 commit comments

Comments
 (0)