// 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 #include #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 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 hello = {'h', 'e', 'l', 'l', 'o'}; (void)fmt::format(FMT_STRING("{}"), hello); } int main() { test_format_api(); test_chrono(); test_text_style(); test_range(); }