| 566 | } |
| 567 | |
| 568 | static void test_printf() |
| 569 | { |
| 570 | int8_t i8_1 = -1; |
| 571 | uint8_t u8_1 = i8_1; |
| 572 | int16_t i16_1 = -1; |
| 573 | uint16_t u16_1 = i16_1; |
| 574 | int32_t i32_1 = -1; |
| 575 | uint32_t u32_1 = i32_1; |
| 576 | int64_t i64_1 = -1; |
| 577 | uint64_t u64_1 = i64_1; |
| 578 | |
| 579 | int8_t i8_0 = 0; |
| 580 | uint8_t u8_0 = 0; |
| 581 | int16_t i16_0 = 0; |
| 582 | uint16_t u16_0 = 0; |
| 583 | int32_t i32_0 = 0; |
| 584 | uint32_t u32_0 = 0; |
| 585 | int64_t i64_0 = 0; |
| 586 | uint64_t u64_0 = 0; |
| 587 | |
| 588 | String8 s; |
| 589 | s.Printf("%" PRIi8 " %" PRIi8 " %" PRIi8 " %" PRIi8, i8_1, i8_0, i8_1, i8_0); |
| 590 | EXPECT_EQ(s, "-1 0 -1 0"); |
| 591 | s.Printf("%" PRId8 " %" PRId8 " %" PRId8 " %" PRId8, i8_1, i8_0, i8_1, i8_0); |
| 592 | EXPECT_EQ(s, "-1 0 -1 0"); |
| 593 | s.Printf("%" PRIu8 " %" PRIu8 " %" PRIu8 " %" PRIu8, u8_1, u8_0, u8_1, u8_0); |
| 594 | EXPECT_EQ(s, "255 0 255 0"); |
| 595 | s.Printf("%02" PRIx8 " %02" PRIx8 " %02" PRIx8 " %02" PRIx8, u8_1, u8_0, u8_1, u8_0); |
| 596 | EXPECT_EQ(s, "ff 00 ff 00"); |
| 597 | s.Printf("%02" PRIX8 " %02" PRIX8 " %02" PRIX8 " %02" PRIX8, u8_1, u8_0, u8_1, u8_0); |
| 598 | EXPECT_EQ(s, "FF 00 FF 00"); |
| 599 | |
| 600 | s.Printf("%" PRIi16 " %" PRIi16 " %" PRIi16 " %" PRIi16, i16_1, i16_0, i16_1, i16_0); |
| 601 | EXPECT_EQ(s, "-1 0 -1 0"); |
| 602 | s.Printf("%" PRId16 " %" PRId16 " %" PRId16 " %" PRId16, i16_1, i16_0, i16_1, i16_0); |
| 603 | EXPECT_EQ(s, "-1 0 -1 0"); |
| 604 | s.Printf("%" PRIu16 " %" PRIu16 " %" PRIu16 " %" PRIu16, u16_1, u16_0, u16_1, u16_0); |
| 605 | EXPECT_EQ(s, "65535 0 65535 0"); |
| 606 | s.Printf("%04" PRIx16 " %04" PRIx16 " %04" PRIx16 " %04" PRIx16, u16_1, u16_0, u16_1, u16_0); |
| 607 | EXPECT_EQ(s, "ffff 0000 ffff 0000"); |
| 608 | s.Printf("%04" PRIX16 " %04" PRIX16 " %04" PRIX16 " %04" PRIX16, u16_1, u16_0, u16_1, u16_0); |
| 609 | EXPECT_EQ(s, "FFFF 0000 FFFF 0000"); |
| 610 | |
| 611 | s.Printf("%" PRIi32 " %" PRIi32 " %" PRIi32 " %" PRIi32, i32_1, i32_0, i32_1, i32_0); |
| 612 | EXPECT_EQ(s, "-1 0 -1 0"); |
| 613 | s.Printf("%" PRId32 " %" PRId32 " %" PRId32 " %" PRId32, i32_1, i32_0, i32_1, i32_0); |
| 614 | EXPECT_EQ(s, "-1 0 -1 0"); |
| 615 | s.Printf("%" PRIu32 " %" PRIu32 " %" PRIu32 " %" PRIu32, u32_1, u32_0, u32_1, u32_0); |
| 616 | EXPECT_EQ(s, "4294967295 0 4294967295 0"); |
| 617 | s.Printf("%08" PRIx32 " %08" PRIx32 " %08" PRIx32 " %08" PRIx32, u32_1, u32_0, u32_1, u32_0); |
| 618 | EXPECT_EQ(s, "ffffffff 00000000 ffffffff 00000000"); |
| 619 | s.Printf("%08" PRIX32 " %08" PRIX32 " %08" PRIX32 " %08" PRIX32, u32_1, u32_0, u32_1, u32_0); |
| 620 | EXPECT_EQ(s, "FFFFFFFF 00000000 FFFFFFFF 00000000"); |
| 621 | |
| 622 | s.Printf("%" PRIi64 " %" PRIi64 " %" PRIi64 " %" PRIi64, i64_1, i64_0, i64_1, i64_0); |
| 623 | EXPECT_EQ(s, "-1 0 -1 0"); |
| 624 | s.Printf("%" PRId64 " %" PRId64 " %" PRId64 " %" PRId64, i64_1, i64_0, i64_1, i64_0); |
| 625 | EXPECT_EQ(s, "-1 0 -1 0"); |