Mercurial > minori
comparison dep/fmt/test/enforce-checks-test.cc @ 343:1faa72660932
*: transfer back to cmake from autotools
autotools just made lots of things more complicated than
they should have and many things broke (i.e. translations)
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Thu, 20 Jun 2024 05:56:06 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
342:adb79bdde329 | 343:1faa72660932 |
---|---|
1 // Formatting library for C++ - formatting library tests | |
2 // | |
3 // Copyright (c) 2012 - present, Victor Zverovich | |
4 // All rights reserved. | |
5 // | |
6 // For the license information refer to format.h. | |
7 | |
8 #include <iterator> | |
9 #include <vector> | |
10 | |
11 #define I 42 // simulate https://en.cppreference.com/w/c/numeric/complex/I | |
12 #include "fmt/chrono.h" | |
13 #include "fmt/color.h" | |
14 #include "fmt/format.h" | |
15 #include "fmt/ostream.h" | |
16 #include "fmt/ranges.h" | |
17 #include "fmt/xchar.h" | |
18 #undef I | |
19 | |
20 // Exercise the API to verify that everything we expect to can compile. | |
21 void test_format_api() { | |
22 (void)fmt::format(FMT_STRING("{}"), 42); | |
23 (void)fmt::format(FMT_STRING(L"{}"), 42); | |
24 (void)fmt::format(FMT_STRING("noop")); | |
25 | |
26 (void)fmt::to_string(42); | |
27 (void)fmt::to_wstring(42); | |
28 | |
29 std::vector<char> out; | |
30 fmt::format_to(std::back_inserter(out), FMT_STRING("{}"), 42); | |
31 | |
32 char buffer[4]; | |
33 fmt::format_to_n(buffer, 3, FMT_STRING("{}"), 12345); | |
34 | |
35 wchar_t wbuffer[4]; | |
36 fmt::format_to_n(wbuffer, 3, FMT_STRING(L"{}"), 12345); | |
37 } | |
38 | |
39 void test_chrono() { | |
40 (void)fmt::format(FMT_STRING("{}"), std::chrono::seconds(42)); | |
41 (void)fmt::format(FMT_STRING(L"{}"), std::chrono::seconds(42)); | |
42 } | |
43 | |
44 void test_text_style() { | |
45 fmt::print(fg(fmt::rgb(255, 20, 30)), FMT_STRING("{}"), "rgb(255,20,30)"); | |
46 (void)fmt::format(fg(fmt::rgb(255, 20, 30)), FMT_STRING("{}"), | |
47 "rgb(255,20,30)"); | |
48 | |
49 fmt::text_style ts = fg(fmt::rgb(255, 20, 30)); | |
50 std::string out; | |
51 fmt::format_to(std::back_inserter(out), ts, | |
52 FMT_STRING("rgb(255,20,30){}{}{}"), 1, 2, 3); | |
53 } | |
54 | |
55 void test_range() { | |
56 std::vector<char> hello = {'h', 'e', 'l', 'l', 'o'}; | |
57 (void)fmt::format(FMT_STRING("{}"), hello); | |
58 } | |
59 | |
60 int main() { | |
61 test_format_api(); | |
62 test_chrono(); | |
63 test_text_style(); | |
64 test_range(); | |
65 } |