| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "src/developer/debug/zxdb/console/string_formatters.h" |
| |
| #include <gtest/gtest.h> |
| |
| namespace zxdb { |
| |
| std::vector<uint8_t> CreateData(size_t length) { |
| std::vector<uint8_t> data; |
| data.reserve(length); |
| // So that we get the number backwards (0x0102...). |
| uint8_t base = length; |
| for (size_t i = 0; i < length; i++) { |
| data.emplace_back(base - i); |
| } |
| return data; |
| } |
| |
| TEST(GetLittleEndianHexOutput, Lengths) { |
| EXPECT_EQ("", GetLittleEndianHexOutput(containers::array_view<uint8_t>())); |
| |
| EXPECT_EQ("00000001", GetLittleEndianHexOutput(CreateData(1))); |
| EXPECT_EQ("00000102", GetLittleEndianHexOutput(CreateData(2))); |
| EXPECT_EQ("00010203", GetLittleEndianHexOutput(CreateData(3))); |
| EXPECT_EQ("01020304", GetLittleEndianHexOutput(CreateData(4))); |
| EXPECT_EQ("00000001 02030405", GetLittleEndianHexOutput(CreateData(5))); |
| EXPECT_EQ("00000102 03040506", GetLittleEndianHexOutput(CreateData(6))); |
| EXPECT_EQ("01020304 05060708", GetLittleEndianHexOutput(CreateData(8))); |
| EXPECT_EQ("00000102 03040506 0708090a", GetLittleEndianHexOutput(CreateData(10))); |
| EXPECT_EQ("01020304 05060708 090a0b0c", GetLittleEndianHexOutput(CreateData(12))); |
| EXPECT_EQ("00000001 02030405 06070809 0a0b0c0d 0e0f1011", |
| GetLittleEndianHexOutput(CreateData(17))); |
| } |
| |
| } // namespace zxdb |