aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bun.js/bindings/exports.zig5
-rw-r--r--test/js/bun/util/inspect.test.js12
2 files changed, 16 insertions, 1 deletions
diff --git a/src/bun.js/bindings/exports.zig b/src/bun.js/bindings/exports.zig
index d4401865d..8641dda3a 100644
--- a/src/bun.js/bindings/exports.zig
+++ b/src/bun.js/bindings/exports.zig
@@ -2304,7 +2304,10 @@ pub const ZigConsoleClient = struct {
// in the code for printing dates, it never exceeds this amount
var iso_string_buf: [36]u8 = undefined;
var out_buf: []const u8 = std.fmt.bufPrint(&iso_string_buf, "{}", .{str}) catch "";
- if (out_buf.len > 2) {
+
+ if (strings.eql(out_buf, "null")) {
+ out_buf = "Invalid Date";
+ } else if (out_buf.len > 2) {
// trim the quotes
out_buf = out_buf[1 .. out_buf.len - 1];
}
diff --git a/test/js/bun/util/inspect.test.js b/test/js/bun/util/inspect.test.js
index de1adbcce..8409a07c4 100644
--- a/test/js/bun/util/inspect.test.js
+++ b/test/js/bun/util/inspect.test.js
@@ -337,3 +337,15 @@ describe("crash testing", () => {
it("possibly formatted emojis log", () => {
expect(Bun.inspect("✔", "hey")).toBe("✔ hey");
});
+
+it("new Date(..)", () => {
+ expect(Bun.inspect(new Date(1679911059000))).toBe("2023-03-27T09:54:00.000Z");
+ expect(Bun.inspect(new Date("March 27, 2023 09:54:00"))).toBe("2023-03-27T09:54:00.000Z");
+ expect(Bun.inspect(new Date("2023-03-27T09:54:00"))).toBe("2023-03-27T09:54:00.000Z");
+ expect(Bun.inspect(new Date(2023, 02, 27))).toBe("2023-03-27T00:00:00.000Z");
+ expect(Bun.inspect(new Date(2023, 02, 27, 09, 54, 0))).toBe("2023-03-27T09:54:00.000Z");
+
+ expect(Bun.inspect(new Date("1679911059000"))).toBe("Invalid Date");
+ expect(Bun.inspect(new Date("hello world"))).toBe("Invalid Date");
+ expect(Bun.inspect(new Date("Invalid Date"))).toBe("Invalid Date");
+});