aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/test
diff options
context:
space:
mode:
authorGravatar zhiyuan <32867472+zhiyuang@users.noreply.github.com> 2023-03-16 11:04:55 +0800
committerGravatar GitHub <noreply@github.com> 2023-03-15 20:04:55 -0700
commit0befd9ad8573e8be003fa2dbca2753c6216538ab (patch)
tree168011aea064edd7a9ba2ad459ebbbd56d0286b4 /src/bun.js/test
parent79a05d50ad58059f6cea973deb59e8fab4e50e31 (diff)
downloadbun-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.zig27
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;
}