blob: 2ad0d3a421415c2d180e61b98678bff82ade7db0 [file] [log] [blame]
// 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