aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-08-09 16:37:05 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-08-09 16:37:05 -0700
commitc148c33510aaae57343e00f8e7f17559781a27b7 (patch)
tree6dde4d6d74d785ed47b56b5b8f6dd78154c43711
parent429abc12781aa6b93417ad6de8a69028900ad33d (diff)
downloadbun-c148c33510aaae57343e00f8e7f17559781a27b7.tar.gz
bun-c148c33510aaae57343e00f8e7f17559781a27b7.tar.zst
bun-c148c33510aaae57343e00f8e7f17559781a27b7.zip
[js] Fix console.log(Infinity)
-rw-r--r--src/bun.js/bindings/exports.zig10
-rw-r--r--test/bun.js/inspect.test.js3
2 files changed, 12 insertions, 1 deletions
diff --git a/src/bun.js/bindings/exports.zig b/src/bun.js/bindings/exports.zig
index 159bc4d0e..8c7b9b68c 100644
--- a/src/bun.js/bindings/exports.zig
+++ b/src/bun.js/bindings/exports.zig
@@ -1648,7 +1648,15 @@ pub const ZigConsoleClient = struct {
writer.print(comptime Output.prettyFmt("<r><yellow>{s}n<r>", enable_ansi_colors), .{out_str});
},
.Double => {
- writer.print(comptime Output.prettyFmt("<r><yellow>{d}<r>", enable_ansi_colors), .{value.asNumber()});
+ if (std.math.isPositiveInf(value.asNumber())) {
+ writer.print(comptime Output.prettyFmt("<r><yellow>Infinity<r>", enable_ansi_colors), .{});
+ } else if (std.math.isNegativeInf(value.asNumber())) {
+ writer.print(comptime Output.prettyFmt("<r><yellow>-Infinity<r>", enable_ansi_colors), .{});
+ } else if (std.math.isNan(value.asNumber())) {
+ writer.print(comptime Output.prettyFmt("<r><yellow>NaN<r>", enable_ansi_colors), .{});
+ } else {
+ writer.print(comptime Output.prettyFmt("<r><yellow>{d}<r>", enable_ansi_colors), .{value.asNumber()});
+ }
},
.Undefined => {
writer.print(comptime Output.prettyFmt("<r><d>undefined<r>", enable_ansi_colors), .{});
diff --git a/test/bun.js/inspect.test.js b/test/bun.js/inspect.test.js
index a0662ce9d..f7b364953 100644
--- a/test/bun.js/inspect.test.js
+++ b/test/bun.js/inspect.test.js
@@ -117,6 +117,9 @@ it("inspect", () => {
);
expect("hi").toBe("hi");
expect(Bun.inspect(1)).toBe("1");
+ expect(Bun.inspect(NaN)).toBe("NaN");
+ expect(Bun.inspect(Infinity)).toBe("Infinity");
+ expect(Bun.inspect(-Infinity)).toBe("-Infinity");
expect(Bun.inspect(1, "hi")).toBe("1 hi");
expect(Bun.inspect([])).toBe("[]");
expect(Bun.inspect({})).toBe("{ }");