diff --git a/IntegrationTests/TestSuites/Sources/PrimaryTests/main.swift b/IntegrationTests/TestSuites/Sources/PrimaryTests/main.swift index 75854c26f..821087b66 100644 --- a/IntegrationTests/TestSuites/Sources/PrimaryTests/main.swift +++ b/IntegrationTests/TestSuites/Sources/PrimaryTests/main.swift @@ -487,9 +487,12 @@ try test("Promise") { try test("Error") { let message = "test error" + let expectedDescription = "Error: test error" let error = JSError(message: message) try expectEqual(error.name, "Error") try expectEqual(error.message, message) - try expectEqual(error.description, "Error: test error") + try expectEqual(error.description, expectedDescription) try expectEqual(error.stack?.isEmpty, false) + try expectEqual(JSError(from: .string("error"))?.description, nil) + try expectEqual(JSError(from: .object(error.jsObject))?.description, expectedDescription) } diff --git a/Sources/JavaScriptKit/BasicObjects/JSError.swift b/Sources/JavaScriptKit/BasicObjects/JSError.swift index a72027c6a..305f1d9d5 100644 --- a/Sources/JavaScriptKit/BasicObjects/JSError.swift +++ b/Sources/JavaScriptKit/BasicObjects/JSError.swift @@ -2,7 +2,7 @@ class](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) that exposes its properties in a type-safe way. */ -public final class JSError: Error, JSValueConvertible { +public final class JSError: Error, JSBridgedClass { /// The constructor function used to create new JavaScript `Error` objects. public static let constructor = JSObject.global.Error.function!