| ... | ... | @@ -1345,7 +1345,7 @@ pub const Parser = struct { |
| 1345 | 1345 | return if (token.number_is_integer) |
| 1346 | 1346 | Value{ .Integer = try std.fmt.parseInt(i64, token.slice(input, i), 10) } |
| 1347 | 1347 | else |
| 1348 | | @panic("TODO: fmt.parseFloat not yet implemented"); |
| 1348 | Value{ .Float = std.fmt.parseFloat(f64, token.slice(input, i)) }; |
| 1349 | 1349 | } |
| 1350 | 1350 | }; |
| 1351 | 1351 | |
| ... | ... | @@ -1366,7 +1366,8 @@ test "json.parser.dynamic" { |
| 1366 | 1366 | \\ }, |
| 1367 | 1367 | \\ "Animated" : false, |
| 1368 | 1368 | \\ "IDs": [116, 943, 234, 38793], |
| 1369 | | \\ "ArrayOfObject": [{"n": "m"}] |
| 1369 | \\ "ArrayOfObject": [{"n": "m"}], |
| 1370 | \\ "double": 1.3412 |
| 1370 | 1371 | \\ } |
| 1371 | 1372 | \\} |
| 1372 | 1373 | ; |
| ... | ... | @@ -1395,4 +1396,7 @@ test "json.parser.dynamic" { |
| 1395 | 1396 | |
| 1396 | 1397 | const obj0 = array_of_object.Array.at(0).Object.get("n").?.value; |
| 1397 | 1398 | testing.expect(mem.eql(u8, obj0.String, "m")); |
| 1399 | |
| 1400 | const double = image.Object.get("double").?.value; |
| 1401 | testing.expect(double.Float == 1.3412); |
| 1398 | 1402 | } |