diff options
Diffstat (limited to 'llvm/unittests/Support/EndianStreamTest.cpp')
-rw-r--r-- | llvm/unittests/Support/EndianStreamTest.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/llvm/unittests/Support/EndianStreamTest.cpp b/llvm/unittests/Support/EndianStreamTest.cpp index 6a69be55f92..8221372468d 100644 --- a/llvm/unittests/Support/EndianStreamTest.cpp +++ b/llvm/unittests/Support/EndianStreamTest.cpp @@ -153,5 +153,35 @@ TEST(EndianStream, WriteDoubleBE) { EXPECT_EQ(static_cast<uint8_t>(data[7]), 0x20); } +TEST(EndianStream, WriteArrayLE) { + SmallString<16> Data; + + { + raw_svector_ostream OS(Data); + endian::Writer<little> LE(OS); + LE.write<uint16_t>({0x1234, 0x5678}); + } + + EXPECT_EQ(static_cast<uint8_t>(Data[0]), 0x34); + EXPECT_EQ(static_cast<uint8_t>(Data[1]), 0x12); + EXPECT_EQ(static_cast<uint8_t>(Data[2]), 0x78); + EXPECT_EQ(static_cast<uint8_t>(Data[3]), 0x56); +} + +TEST(EndianStream, WriteVectorLE) { + SmallString<16> Data; + + { + raw_svector_ostream OS(Data); + endian::Writer<little> LE(OS); + std::vector<uint16_t> Vec{0x1234, 0x5678}; + LE.write<uint16_t>(Vec); + } + + EXPECT_EQ(static_cast<uint8_t>(Data[0]), 0x34); + EXPECT_EQ(static_cast<uint8_t>(Data[1]), 0x12); + EXPECT_EQ(static_cast<uint8_t>(Data[2]), 0x78); + EXPECT_EQ(static_cast<uint8_t>(Data[3]), 0x56); +} } // end anon namespace |