From 5a7a9b85d25aa63225d7a08af4aa2d726a53650c Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauldmccarthy@gmail.com>
Date: Wed, 10 Feb 2021 12:26:25 +0000
Subject: [PATCH] Test onError handler

---
 tests/test_idle.py | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/tests/test_idle.py b/tests/test_idle.py
index fdee73ac7..e6615319e 100644
--- a/tests/test_idle.py
+++ b/tests/test_idle.py
@@ -600,6 +600,37 @@ def test_TaskThread_onFinish():
     assert onFinishCalled[0]
 
 
+def test_TaskThread_onError():
+
+    taskCalled     = [False]
+    onFinishCalled = [False]
+    onErrorCalled  = [False]
+
+    def task():
+        taskCalled[0] = True
+        raise Exception('Task error')
+
+    def onFinish():
+        onFinishCalled[0] = True
+
+    def onError(e):
+        onErrorCalled[0] = str(e)
+
+    tt = idle.TaskThread()
+    tt.start()
+
+    tt.enqueue(task, onFinish=onFinish, onError=onError)
+
+    time.sleep(0.5)
+
+    tt.stop()
+    tt.join()
+
+    assert     taskCalled[0]
+    assert     onErrorCalled[0] == 'Task error'
+    assert not onFinishCalled[0]
+
+
 def test_TaskThread_isQueued():
 
     called = [False]
-- 
GitLab