diff options
Diffstat (limited to 'test/functional/ui/screen.lua')
-rw-r--r-- | test/functional/ui/screen.lua | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua index 02be714e0d..0e3b903398 100644 --- a/test/functional/ui/screen.lua +++ b/test/functional/ui/screen.lua @@ -615,7 +615,12 @@ function Screen:_redraw(updates) local handler_name = '_handle_'..method local handler = self[handler_name] if handler ~= nil then - handler(self, unpack(update[i])) + local status, res = pcall(handler, self, unpack(update[i])) + if not status then + error(handler_name..' failed' + ..'\n payload: '..inspect(update) + ..'\n error: '..tostring(res)) + end else assert(self._on_event, "Add Screen:"..handler_name.." or call Screen:set_on_event_handler") |