Browse Source

LibJS/Tests: Catch exceptions in describe() itself

Otherwise exceptions thrown in that state would simply terminate the
test.
Ali Mohammad Pur 4 năm trước cách đây
mục cha
commit
09cf1040ef
1 tập tin đã thay đổi với 9 bổ sung1 xóa
  1. 9 1
      Userland/Libraries/LibJS/Tests/test-common.js

+ 9 - 1
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;
     };