summaryrefslogtreecommitdiff
path: root/tests/test_events.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_events.py')
-rw-r--r--tests/test_events.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/test_events.py b/tests/test_events.py
index f36c86a87..8f01a673a 100644
--- a/tests/test_events.py
+++ b/tests/test_events.py
@@ -19,11 +19,16 @@ def test_event_priority():
assert result == [3, 1, 2, 5, 4]
+class FakeApp:
+ def __init__(self, pdb: bool = False):
+ self.pdb = pdb
+
+
def test_event_allowed_exceptions():
def raise_error(app):
raise RuntimeError
- events = EventManager(object()) # pass an dummy object as an app
+ events = EventManager(FakeApp()) # pass an dummy object as an app
events.connect('builder-inited', raise_error, priority=500)
# all errors are converted to ExtensionError
@@ -33,3 +38,19 @@ def test_event_allowed_exceptions():
# Allow RuntimeError (pass-through)
with pytest.raises(RuntimeError):
events.emit('builder-inited', allowed_exceptions=(RuntimeError,))
+
+
+def test_event_pdb():
+ def raise_error(app):
+ raise RuntimeError
+
+ events = EventManager(FakeApp(pdb=True)) # pass an dummy object as an app
+ events.connect('builder-inited', raise_error, priority=500)
+
+ # errors aren't converted
+ with pytest.raises(RuntimeError):
+ events.emit('builder-inited')
+
+ # Allow RuntimeError (pass-through)
+ with pytest.raises(RuntimeError):
+ events.emit('builder-inited', allowed_exceptions=(RuntimeError,))