Quellcode durchsuchen

LibJS/Tests: Catch exceptions in describe() itself

Otherwise exceptions thrown in that state would simply terminate the
test.
Ali Mohammad Pur vor 4 Jahren
Ursprung
Commit
09cf1040ef
1 geänderte Dateien mit 9 neuen und 1 gelöschten Zeilen
  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) => {
     describe = (message, callback) => {
         suiteMessage = message;
         suiteMessage = message;
-        callback();
+        if (!__TestResults__[suiteMessage]) __TestResults__[suiteMessage] = {};
+        try {
+            callback();
+        } catch (e) {
+            __TestResults__[suiteMessage][defaultSuiteMessage] = {
+                result: "fail",
+                details: String(e),
+            };
+        }
         suiteMessage = defaultSuiteMessage;
         suiteMessage = defaultSuiteMessage;
     };
     };