| ... | @@ -531,6 +531,38 @@ test "fmt.format" { | ... | @@ -531,6 +531,38 @@ test "fmt.format" { |
| 531 | const result = bufPrint(buf1[0..], "u3: {}\n", value); | 531 | const result = bufPrint(buf1[0..], "u3: {}\n", value); |
| 532 | assert(mem.eql(u8, result, "u3: 5\n")); | 532 | assert(mem.eql(u8, result, "u3: 5\n")); |
| 533 | } | 533 | } |
| | 534 | |
| | 535 | // TODO get these tests passing in release modes |
| | 536 | // https://github.com/zig-lang/zig/issues/564 |
| | 537 | if (builtin.mode == builtin.Mode.Debug) { |
| | 538 | { |
| | 539 | var buf1: [32]u8 = undefined; |
| | 540 | const value: f32 = 12.34; |
| | 541 | const result = bufPrint(buf1[0..], "f32: {}\n", value); |
| | 542 | assert(mem.eql(u8, result, "f32: 1.23400001e1\n")); |
| | 543 | } |
| | 544 | { |
| | 545 | var buf1: [32]u8 = undefined; |
| | 546 | const value: f64 = -12.34e10; |
| | 547 | const result = bufPrint(buf1[0..], "f64: {}\n", value); |
| | 548 | assert(mem.eql(u8, result, "f64: -1.234e11\n")); |
| | 549 | } |
| | 550 | { |
| | 551 | var buf1: [32]u8 = undefined; |
| | 552 | const result = bufPrint(buf1[0..], "f64: {}\n", math.nan_f64); |
| | 553 | assert(mem.eql(u8, result, "f64: NaN\n")); |
| | 554 | } |
| | 555 | { |
| | 556 | var buf1: [32]u8 = undefined; |
| | 557 | const result = bufPrint(buf1[0..], "f64: {}\n", math.inf_f64); |
| | 558 | assert(mem.eql(u8, result, "f64: Infinity\n")); |
| | 559 | } |
| | 560 | { |
| | 561 | var buf1: [32]u8 = undefined; |
| | 562 | const result = bufPrint(buf1[0..], "f64: {}\n", -math.inf_f64); |
| | 563 | assert(mem.eql(u8, result, "f64: -Infinity\n")); |
| | 564 | } |
| | 565 | } |
| 534 | } | 566 | } |
| 535 | | 567 | |
| 536 | pub fn trim(buf: []const u8) -> []const u8 { | 568 | pub fn trim(buf: []const u8) -> []const u8 { |