diff options
| author | Eugene-Dash <144539106+eugene-dash@users.noreply.github.com> | 2024-07-25 20:55:06 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-25 20:55:06 -0400 |
| commit | 81a172a5064559d1f968f240204f8ce545852441 (patch) | |
| tree | ddb1b9b2f70114f8c2e1e99319151922834a7176 /lib/std/json/dynamic_test.zig | |
| parent | ed847b85c284783c20efd4c4a565138b79d33e2c (diff) | |
| download | zig-81a172a5064559d1f968f240204f8ce545852441.tar.gz zig-81a172a5064559d1f968f240204f8ce545852441.zip | |
Add `std.json.ParseOptions.parse_numbers` to preserve float precision (#20744)
Diffstat (limited to 'lib/std/json/dynamic_test.zig')
| -rw-r--r-- | lib/std/json/dynamic_test.zig | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/std/json/dynamic_test.zig b/lib/std/json/dynamic_test.zig index 9e181dea9c..45cdc0d0c7 100644 --- a/lib/std/json/dynamic_test.zig +++ b/lib/std/json/dynamic_test.zig @@ -149,6 +149,19 @@ test "integer after float has proper type" { try std.testing.expect(parsed.object.get("ints").?.array.items[0] == .integer); } +test "ParseOptions.parse_numbers prevents parsing when false" { + var arena_allocator = std.heap.ArenaAllocator.init(std.testing.allocator); + defer arena_allocator.deinit(); + const parsed = try parseFromSliceLeaky(Value, arena_allocator.allocator(), + \\{ + \\ "float": 3.14, + \\ "int": 3 + \\} + , .{ .parse_numbers = false }); + try std.testing.expect(parsed.object.get("float").? == .number_string); + try std.testing.expect(parsed.object.get("int").? == .number_string); +} + test "escaped characters" { var arena_allocator = std.heap.ArenaAllocator.init(std.testing.allocator); defer arena_allocator.deinit(); |
