diff --git a/domonic/dom.py b/domonic/dom.py index 92cd8c3..429dcc2 100644 --- a/domonic/dom.py +++ b/domonic/dom.py @@ -752,6 +752,10 @@ def _iterate(self, element, callback) -> None: except Exception as e: print("_iterate error", e) + def __bool__(self): + # was previously falling back to __len__ + return True + def __len__(self): return len(self.args) diff --git a/tests/test_dom.py b/tests/test_dom.py index 5fd6946..349ddbe 100644 --- a/tests/test_dom.py +++ b/tests/test_dom.py @@ -1292,6 +1292,11 @@ def _checkPositions(self, node): assert getattr(item, "parentNode", node) is node, f"parentNode is incorrect ({item.parentNode})" self._checkPositions(item) + def test_truthiness(self): + doc = Document() + assert doc # to support `if doc: ...` + assert bool(doc) # more explicitly + def test_Document(self): # There should be one-- and preferably only one --obvious way to do it. doc = Document()