123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- // Formatting library for C++ - formatting library tests
- //
- // Copyright (c) 2012 - present, Victor Zverovich
- // All rights reserved.
- //
- // For the license information refer to format.h.
- #include <iterator>
- #include <vector>
- #include "fmt/chrono.h"
- #include "fmt/color.h"
- #include "fmt/format.h"
- #include "fmt/ostream.h"
- #include "fmt/ranges.h"
- #include "fmt/xchar.h"
- // Exercise the API to verify that everything we expect to can compile.
- void test_format_api() {
- (void)fmt::format(FMT_STRING("{}"), 42);
- (void)fmt::format(FMT_STRING(L"{}"), 42);
- (void)fmt::format(FMT_STRING("noop"));
- (void)fmt::to_string(42);
- (void)fmt::to_wstring(42);
- std::vector<char> out;
- fmt::format_to(std::back_inserter(out), FMT_STRING("{}"), 42);
- char buffer[4];
- fmt::format_to_n(buffer, 3, FMT_STRING("{}"), 12345);
- wchar_t wbuffer[4];
- fmt::format_to_n(wbuffer, 3, FMT_STRING(L"{}"), 12345);
- }
- void test_chrono() {
- (void)fmt::format(FMT_STRING("{}"), std::chrono::seconds(42));
- (void)fmt::format(FMT_STRING(L"{}"), std::chrono::seconds(42));
- }
- void test_text_style() {
- fmt::print(fg(fmt::rgb(255, 20, 30)), FMT_STRING("{}"), "rgb(255,20,30)");
- (void)fmt::format(fg(fmt::rgb(255, 20, 30)), FMT_STRING("{}"),
- "rgb(255,20,30)");
- fmt::text_style ts = fg(fmt::rgb(255, 20, 30));
- std::string out;
- fmt::format_to(std::back_inserter(out), ts,
- FMT_STRING("rgb(255,20,30){}{}{}"), 1, 2, 3);
- }
- void test_range() {
- std::vector<char> hello = {'h', 'e', 'l', 'l', 'o'};
- (void)fmt::format(FMT_STRING("{}"), hello);
- }
- int main() {
- test_format_api();
- test_chrono();
- test_text_style();
- test_range();
- }
|