| // Copyright 2020 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/lib/fidl_codec/printer.h" | |
| #include <sstream> | |
| #include <gtest/gtest.h> | |
| namespace fidl_codec { | |
| TEST(PrettyPrinter, uint64_print) { | |
| std::stringstream out; | |
| PrettyPrinter printer(out, WithoutColors, false, "", 100, false); | |
| // We use variables to get the proper type to <<. | |
| constexpr uint64_t n = 255; | |
| constexpr uint64_t zero = 0; | |
| constexpr uint64_t sixteen = 16; | |
| constexpr uint64_t ten = 10; | |
| ASSERT_EQ(printer.remaining_size(), 100); | |
| printer << n; | |
| ASSERT_EQ(printer.remaining_size(), 97); | |
| printer << zero; | |
| ASSERT_EQ(printer.remaining_size(), 96); | |
| printer << std::hex << n; | |
| ASSERT_EQ(printer.remaining_size(), 94); | |
| printer << zero; | |
| ASSERT_EQ(printer.remaining_size(), 93); | |
| printer << sixteen; | |
| ASSERT_EQ(printer.remaining_size(), 91); | |
| printer << std::dec << ten; | |
| ASSERT_EQ(printer.remaining_size(), 89); | |
| ASSERT_EQ(out.str(), "2550ff01010"); | |
| } | |
| } // namespace fidl_codec |