diff options
| author | 2022-08-09 16:37:05 -0700 | |
|---|---|---|
| committer | 2022-08-09 16:37:05 -0700 | |
| commit | c148c33510aaae57343e00f8e7f17559781a27b7 (patch) | |
| tree | 6dde4d6d74d785ed47b56b5b8f6dd78154c43711 | |
| parent | 429abc12781aa6b93417ad6de8a69028900ad33d (diff) | |
| download | bun-c148c33510aaae57343e00f8e7f17559781a27b7.tar.gz bun-c148c33510aaae57343e00f8e7f17559781a27b7.tar.zst bun-c148c33510aaae57343e00f8e7f17559781a27b7.zip | |
[js] Fix console.log(Infinity)
| -rw-r--r-- | src/bun.js/bindings/exports.zig | 10 | ||||
| -rw-r--r-- | test/bun.js/inspect.test.js | 3 |
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("{ }"); |
