diff options
author | 2023-03-16 11:04:55 +0800 | |
---|---|---|
committer | 2023-03-15 20:04:55 -0700 | |
commit | 0befd9ad8573e8be003fa2dbca2753c6216538ab (patch) | |
tree | 168011aea064edd7a9ba2ad459ebbbd56d0286b4 /src/bun.js/test | |
parent | 79a05d50ad58059f6cea973deb59e8fab4e50e31 (diff) | |
download | bun-0befd9ad8573e8be003fa2dbca2753c6216538ab.tar.gz bun-0befd9ad8573e8be003fa2dbca2753c6216538ab.tar.zst bun-0befd9ad8573e8be003fa2dbca2753c6216538ab.zip |
feat(expect): update toBeInstanceOf (#2396)
* feat: update instanceof binding
* fix: according to PR comments
Diffstat (limited to 'src/bun.js/test')
-rw-r--r-- | src/bun.js/test/jest.zig | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/bun.js/test/jest.zig b/src/bun.js/test/jest.zig index d8d4fb246..33e7d8269 100644 --- a/src/bun.js/test/jest.zig +++ b/src/bun.js/test/jest.zig @@ -2733,10 +2733,11 @@ pub const Expect = struct { } active_test_expectation_counter.actual += 1; + var formatter = JSC.ZigConsoleClient.Formatter{ .globalThis = globalObject, .quote_strings = true }; + const expected_value = arguments[0]; - if (!expected_value.jsType().isFunction()) { - var fmt = JSC.ZigConsoleClient.Formatter{ .globalThis = globalObject, .quote_strings = true }; - globalObject.throw("Expected value must be a function: {any}", .{expected_value.toFmt(globalObject, &fmt)}); + if (!expected_value.isConstructor()) { + globalObject.throw("Expected value must be a function: {any}", .{expected_value.toFmt(globalObject, &formatter)}); return .zero; } expected_value.ensureStillAlive(); @@ -2753,28 +2754,30 @@ pub const Expect = struct { if (pass) return thisValue; // handle failure - var formatter = JSC.ZigConsoleClient.Formatter{ .globalThis = globalObject, .quote_strings = true }; + const expected_fmt = expected_value.toFmt(globalObject, &formatter); const value_fmt = value.toFmt(globalObject, &formatter); if (not) { - const received_line = "Received: <red>{any}<r>\n"; - const fmt = comptime getSignature("toBeInstanceOf", "", true) ++ "\n\n" ++ received_line; + const expected_line = "Expected constructor: not <green>{any}<r>\n"; + const received_line = "Received value: <red>{any}<r>\n"; + const fmt = comptime getSignature("toBeInstanceOf", "", true) ++ "\n\n" ++ expected_line ++ received_line; if (Output.enable_ansi_colors) { - globalObject.throw(Output.prettyFmt(fmt, true), .{value_fmt}); + globalObject.throw(Output.prettyFmt(fmt, true), .{ expected_fmt, value_fmt }); return .zero; } - globalObject.throw(Output.prettyFmt(fmt, false), .{value_fmt}); + globalObject.throw(Output.prettyFmt(fmt, false), .{ expected_fmt, value_fmt }); return .zero; } - const received_line = "Received: <red>{any}<r>\n"; - const fmt = comptime getSignature("toBeInstanceOf", "", false) ++ "\n\n" ++ received_line; + const expected_line = "Expected constructor: <green>{any}<r>\n"; + const received_line = "Received value: <red>{any}<r>\n"; + const fmt = comptime getSignature("toBeInstanceOf", "", false) ++ "\n\n" ++ expected_line ++ received_line; if (Output.enable_ansi_colors) { - globalObject.throw(Output.prettyFmt(fmt, true), .{value_fmt}); + globalObject.throw(Output.prettyFmt(fmt, true), .{ expected_fmt, value_fmt }); return .zero; } - globalObject.throw(Output.prettyFmt(fmt, false), .{value_fmt}); + globalObject.throw(Output.prettyFmt(fmt, false), .{ expected_fmt, value_fmt }); return .zero; } |