| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
1 |
// Formatting library for C++ - formatting library tests |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
2 |
// |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
3 |
// Copyright (c) 2012 - present, Victor Zverovich |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
4 |
// All rights reserved. |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
5 |
// |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
6 |
// For the license information refer to format.h. |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
7 |
|
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
8 |
#include <iterator> |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
9 |
#include <vector> |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
10 |
|
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
11 |
#include "fmt/chrono.h" |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
12 |
#include "fmt/color.h" |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
13 |
#include "fmt/format.h" |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
14 |
#include "fmt/ostream.h" |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
15 |
#include "fmt/ranges.h" |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
16 |
#include "fmt/xchar.h" |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
17 |
|
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
18 |
// Exercise the API to verify that everything we expect to can compile. |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
19 |
void test_format_api() { |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
20 |
(void)fmt::format(FMT_STRING("{}"), 42); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
21 |
(void)fmt::format(FMT_STRING(L"{}"), 42); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
22 |
(void)fmt::format(FMT_STRING("noop")); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
23 |
|
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
24 |
(void)fmt::to_string(42); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
25 |
(void)fmt::to_wstring(42); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
26 |
|
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
27 |
std::vector<char> out; |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
28 |
fmt::format_to(std::back_inserter(out), FMT_STRING("{}"), 42); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
29 |
|
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
30 |
char buffer[4]; |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
31 |
fmt::format_to_n(buffer, 3, FMT_STRING("{}"), 12345); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
32 |
|
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
33 |
wchar_t wbuffer[4]; |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
34 |
fmt::format_to_n(wbuffer, 3, FMT_STRING(L"{}"), 12345); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
35 |
} |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
36 |
|
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
37 |
void test_chrono() { |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
38 |
(void)fmt::format(FMT_STRING("{}"), std::chrono::seconds(42)); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
39 |
(void)fmt::format(FMT_STRING(L"{}"), std::chrono::seconds(42)); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
40 |
} |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
41 |
|
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
42 |
void test_text_style() { |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
43 |
fmt::print(fg(fmt::rgb(255, 20, 30)), FMT_STRING("{}"), "rgb(255,20,30)"); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
44 |
(void)fmt::format(fg(fmt::rgb(255, 20, 30)), FMT_STRING("{}"), |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
45 |
"rgb(255,20,30)"); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
46 |
|
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
47 |
fmt::text_style ts = fg(fmt::rgb(255, 20, 30)); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
48 |
std::string out; |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
49 |
fmt::format_to(std::back_inserter(out), ts, |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
50 |
FMT_STRING("rgb(255,20,30){}{}{}"), 1, 2, 3); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
51 |
} |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
52 |
|
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
53 |
void test_range() { |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
54 |
std::vector<char> hello = {'h', 'e', 'l', 'l', 'o'}; |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
55 |
(void)fmt::format(FMT_STRING("{}"), hello); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
56 |
} |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
57 |
|
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
58 |
int main() { |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
59 |
test_format_api(); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
60 |
test_chrono(); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
61 |
test_text_style(); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
62 |
test_range(); |
| f8deb5b9 |
Poul Sander |
2022-01-15 13:55 |
63 |
} |
|
|
1970-01-01 00:00 |
64 |
|