From 09cf1040efaa3d0816387a9b1b4881e34494f939 Mon Sep 17 00:00:00 2001 From: Ali Mohammad Pur Date: Fri, 4 Jun 2021 03:23:33 +0430 Subject: [PATCH] LibJS/Tests: Catch exceptions in describe() itself Otherwise exceptions thrown in that state would simply terminate the test. --- Userland/Libraries/LibJS/Tests/test-common.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibJS/Tests/test-common.js b/Userland/Libraries/LibJS/Tests/test-common.js index 0bc84cf4c6..9a3f3869fd 100644 --- a/Userland/Libraries/LibJS/Tests/test-common.js +++ b/Userland/Libraries/LibJS/Tests/test-common.js @@ -441,7 +441,15 @@ class ExpectationError extends Error { describe = (message, callback) => { suiteMessage = message; - callback(); + if (!__TestResults__[suiteMessage]) __TestResults__[suiteMessage] = {}; + try { + callback(); + } catch (e) { + __TestResults__[suiteMessage][defaultSuiteMessage] = { + result: "fail", + details: String(e), + }; + } suiteMessage = defaultSuiteMessage; };