Commit Graph

555 Commits

Author SHA1 Message Date
vitaut
b2714f83cc FMT_NO_STREAM_LIBRARIES -> FMT_USE_IOSTREAMS
for consistency with similar macros and removed unnecessary
checks.
2015-10-18 08:50:35 -07:00
Richard Maxwell
2cca51c744 Issue 205: Make iostream support optional. 2015-10-16 08:04:53 +13:00
Dean Moldovan
c0813c59f3 Work around UDL macro stringification bug on some versions of GCC
See bug report: https://gcc.gnu.org/ml/gcc-bugs/2015-04/msg02027.html
2015-10-09 11:55:36 +02:00
Dean Moldovan
bc6010cc21 Add _a literal for named arguments 2015-09-27 04:09:37 +02:00
Dean Moldovan
a63a24f2d7 Add _format literal 2015-09-27 04:00:24 +02:00
vitaut
ef710dee6c Add sprintf overload for wide strings
and fix an issue in formatting user-defined objects.
Thanks to @ScottLangham
2015-09-18 16:26:41 -07:00
vitaut
79d8f59906 Implement formatting of objects with (s)printf. 2015-09-08 08:36:20 -07:00
vitaut
b3714625c0 Fix compilation with FMT_PEDANTIC=ON 2015-08-19 08:03:17 -07:00
vitaut
1bba22667e Fix build on CMake 2.6 2015-08-19 07:32:48 -07:00
vitaut
4274f15f0d Move test-specific stuff to test/CMakeLists.txt 2015-08-19 07:27:08 -07:00
vitaut
b247d81046 Fix warnings 2015-08-07 07:39:04 -07:00
vitaut
c3ba615c65 Fix warnings 2015-08-07 07:34:58 -07:00
vitaut
a8a2982b9a Fix test 2015-08-07 07:13:43 -07:00
vitaut
ca7478144d Fix warnings 2015-08-07 07:08:46 -07:00
vitaut
5b8d0a7aa9 Make Coverity happy 2015-08-04 07:22:03 -07:00
vitaut
7e12c5c9df Use scoped_ptr instead of raw pointers in tests 2015-07-31 08:54:54 -07:00
vitaut
d15e0d3e06 Use scoped_ptr instead of raw pointers in tests 2015-07-31 08:23:39 -07:00
vitaut
d02a5031f0 Use scoped_ptr instead of deprecated auto_ptr 2015-07-29 07:03:15 -07:00
vitaut
200037683e Initialize next_arg_index_ in ctor (#187) 2015-07-28 08:10:46 -07:00
vitaut
c4d0bc1ac9 Fix Coverity warnings 2015-07-28 07:18:14 -07:00
vitaut
6cf24c7f92 Fix MSVC warnings 2015-07-08 08:04:32 -07:00
vitaut
f3bef7ac92 Fix open_buffered_file 2015-07-08 07:48:54 -07:00
vitaut
b6c1c9233a Workaround an issue with VC2010 2015-07-08 07:36:36 -07:00
vitaut
c669cbedf8 Rename None to Null because of conflict with an xlib.h macro 2015-07-07 07:05:17 -07:00
vitaut
438bd9b0e6 Add BasicCStringRef to represent a null-termated string (#100)
and use it instead of BasicStringRef in cases that assume that the
string is null-terminated such as POSIX function and format string
parser.
2015-06-26 07:43:54 -07:00
vitaut
88c7c20102 Fix posix-test on FreeBSD (#179) 2015-06-25 07:06:30 -07:00
vitaut
5b9b485f57 Workaround a bug in MinGW 2015-06-24 11:36:28 -07:00
vitaut
0a7e5141c1 Move posix tests from gtest-extra-test to a separate test 2015-06-24 09:16:03 -07:00
vitaut
9769f4b9ed Refactor posix tests 2015-06-24 08:43:30 -07:00
vitaut
e5b16e80cc Include sys/types.h for ssize_t 2015-06-24 07:59:19 -07:00
vitaut
948317b6dd Fix FormatLongDouble test on PowerPC (#180) 2015-06-23 07:39:49 -07:00
vitaut
b88a17ad9e libformat.{a.so} -> libcppformat.{a.so}
as suggested by Eugene V. Lyubimkin to make the name less generic
2015-06-23 06:40:22 -07:00
vitaut
abcc2d96f0 Fix assertion tests 2015-06-22 09:24:54 -07:00
vitaut
8ab665afbc Only use death tests if available 2015-06-22 08:17:23 -07:00
vitaut
8450f5e1d3 FormatIntTest: FormatDec: don't assume signedness of char type
Thanks to Eugene V. Lyubimkin for the patch.
2015-06-22 07:03:26 -07:00
vitaut
e39490500c Replace implicit conversion to std::string with to_string 2015-06-17 07:59:41 -07:00
vitaut
8725d07d8b Place the anonymous namespace within the fmt namespace
for header-only configuration as suggested by Alf Steinbach.
2015-06-12 07:56:58 -07:00
vitaut
24c309fbfa Don't use windows.h if FMT_USE_WINDOWS_H is set to 0 2015-06-12 07:15:57 -07:00
vitaut
9d09214e7a Use textual representation for bool by default (#170) 2015-06-11 09:00:06 -07:00
vitaut
fd5c2e909b Report error when using precision with char 2015-06-11 08:58:31 -07:00
vitaut
b83ab16676 Break long lines 2015-06-11 06:14:42 -07:00
jamboree
3c99ed4498 Fix name parsing 2015-06-11 12:03:22 +08:00
jamboree
7487bde587 Support named arguments 2015-06-10 09:32:59 +08:00
vitaut
ed2dfe5124 Implement writing narrow strings into a wide writer 2015-06-09 08:20:44 -07:00
vitaut
8949a2e941 Fix formatting 2015-06-08 06:53:18 -07:00
jamboree
54a6cb34c7 Support runtime width specification 2015-06-04 13:59:37 +08:00
vitaut
90a12b1bb2 Fix warnings 2015-05-12 08:57:21 -07:00
vitaut
a5757c86df FMT_EXTRA_TESTS -> FMT_PEDANTIC and use it to control extra warnings 2015-05-12 07:35:29 -07:00
vitaut
c8688576f2 Fix MinGW build 2015-05-11 19:10:31 -07:00
vitaut
8035c3eb30 Workaround a bug in the definition of fstat on some versions of MinGW 2015-05-11 08:44:40 -07:00
vitaut
3913f29ad7 Fix posix-test on MinGW 2015-05-11 07:57:08 -07:00
vitaut
2da08f21dd Only run compile-test if FMT_EXTRA_TESTS is set
These tests can be quite time-consuming especially on Windows
2015-05-11 07:34:07 -07:00
vitaut
3e03934d15 If std::swprintf is broken, disable relevant test and warn about it 2015-05-08 07:57:43 -07:00
vitaut
85b985e9f2 Workaround a bug in formatting long double in MinGW, take 3 2015-05-07 08:17:30 -07:00
vitaut
3e379829a0 Workaround a bug in formatting long double in MinGW, take 2 2015-05-07 07:25:39 -07:00
vitaut
673a4525f6 Workaround a bug in formatting long double in MinGW 2015-05-07 07:18:46 -07:00
vitaut
40681e6037 Fix compilation of posix-test on MinGW 2015-05-06 07:29:58 -07:00
vitaut
ca2cadb1c6 Fix compilation when fileno is a macro
This can happen on broken versions of MinGW.
2015-05-06 07:19:42 -07:00
vitaut
87cb2935f8 Test and fix handling of exactly MAX_PACKED_ARGS arguments 2015-05-01 06:55:26 -07:00
vitaut
8d2559bd96 Reduce compiled code size
If the number of arguments is less than MAX_PACKED_ARGS, pass
the arguments as a Value array rather than Arg array.
2015-04-20 10:02:41 -07:00
vitaut
62c483c940 Test EnableIf 2015-04-20 08:08:02 -07:00
vitaut
60405cf693 Use /W4 in format-test and only if FMT_EXTRA_TESTS is set
as (1) we don't want to force /W4 on users of the library and (2) some of
the warnings only show up when the formatting functions are used.
2015-03-28 17:29:12 -07:00
vitaut
3a5573ac6e Revert commit 3c3ae4e319 2015-03-27 07:36:26 -07:00
vitaut
3c3ae4e319 MakeValue -> MakeArg 2015-03-25 07:04:16 -07:00
vitaut
00df5c91f3 Merge Value into Arg 2015-03-25 06:48:21 -07:00
vitaut
cf04d98d06 Pass as many types as possible in a single integer to reduce code bloat 2015-03-24 08:55:40 -07:00
Shauren
a445e727c2 Added support to format more than 16 arguments with printf API when using variadic templates 2015-03-20 21:31:10 +01:00
vitaut
906432161b Make Buffer part of the public API 2015-03-20 06:31:24 -07:00
vitaut
a53ac7ad5c Workaround mingw bugs 2015-03-19 07:39:24 -07:00
vitaut
2adbfa4af7 Test IsConvertibleToInt with a C++11 enum 2015-03-18 11:02:37 -07:00
vitaut
538c2610cb Move FMT_USE_VARIADIC_TEMPLATES definition to macro-test.cc 2015-03-17 07:57:30 -07:00
vitaut
a530052b7e Only include crtdbg.h when compiling with MSVC 2015-03-16 18:05:45 -07:00
vitaut
eccd5e8d15 Fix test 2015-03-16 09:17:18 -07:00
vitaut
93ae73adbc Fix a typo 2015-03-16 09:05:46 -07:00
vitaut
5aecd4947f Use GetFileSize instead of GetFileSizeEx on Windows 2015-03-16 08:52:23 -07:00
vitaut
57f9f06619 More mingw fixes 2015-03-12 08:11:04 -07:00
vitaut
6bca5ca109 Woraround a bug in MinGW 2015-03-12 07:49:01 -07:00
Victor Zverovich
5821aec7b9 Implement printing of values that are convertible to int such as enums 2015-03-10 07:53:46 -07:00
Victor Zverovich
beaf6f7436 Add a fixed-size array writer 2015-03-01 18:08:24 -08:00
Victor Zverovich
2e3423b053 Update compile-test 2015-03-01 17:03:44 -08:00
Victor Zverovich
da6ac7fb26 Fix tests 2015-03-01 16:12:26 -08:00
Victor Zverovich
8a915b9b8d Update compile-test 2015-03-01 14:13:45 -08:00
Victor Zverovich
642b72cd91 Fix StringRef test 2015-02-24 09:52:16 -08:00
Victor Zverovich
53010624a0 Move Windows implementation of print_colored to a separate branch
as it needs further testing.
2015-02-19 07:54:59 -08:00
Victor Zverovich
5b0a9bbe85 Improve StringRef test 2015-02-17 06:45:45 -08:00
Carter Li
3f574c1611 Silence warnings on Windows 2015-02-17 10:11:42 +08:00
Victor Zverovich
bd133382f0 Fix BasicWriter::write without formatting arguments on C++11 (#109) 2015-02-16 14:32:38 -08:00
Carter Li
e2583ab5f3 Use throw() when noexcept is not supported 2015-02-14 09:58:29 +08:00
Victor Zverovich
cfd476bb8b Temporarily disable the test as the fix didn't work. 2015-02-08 20:41:13 -08:00
Ryuuke
5a9dc8f991 windows cli colors revision and test case 2015-02-08 16:08:29 +00:00
Victor Zverovich
0bd32f3f29 Merge branch 'master' of github.com:cppformat/cppformat 2015-01-08 07:56:19 -08:00
Victor Zverovich
43aebf51d6 Allow precision specifier for non-float arguments 2015-01-08 07:56:08 -08:00
Mikolaj Paraniak
7f706171a9 Add format linking to tests 2015-01-06 16:57:07 +01:00
Victor Zverovich
cd828a8691 Add a test for https://github.com/cppformat/cppformat/issues/86 2015-01-05 07:16:26 -08:00
Victor Zverovich
67e196eac4 Make test libraries static 2014-12-19 07:39:13 -08:00
Victor Zverovich
fb12cfd196 Suppress more bogus warnings 2014-12-17 06:53:32 -08:00
Victor Zverovich
c630d1f236 Disable "secure" warnings in posix. 2014-12-16 07:07:09 -08:00
Victor Zverovich
df580969f7 Add a test for header-only configuration 2014-12-09 06:22:55 -08:00
Victor Zverovich
615c1eef6b Fix error handling in fmt::fprintf. 2014-11-14 09:40:01 -08:00
Victor Zverovich
8ea9f068c7 Convert tabs to spaces 2014-11-07 07:58:49 -08:00
Victor Zverovich
ed92af29b3 Add missing ')' 2014-10-30 13:58:16 -07:00
Victor Zverovich
14984acd27 Fix UTF conversion tests 2014-10-30 13:00:44 -07:00
Victor Zverovich
daca48cb15 Fix MSVC build 2014-10-30 12:20:08 -07:00
Victor Zverovich
cabe5bddb4 Fix util-test 2014-10-30 08:07:28 -07:00
Victor Zverovich
10d83aaa52 Test that StringRef size computation 2014-10-30 06:27:44 -07:00
Alexey Morozov
4d3126c567 sign-compare warnings fixes 2014-10-14 03:28:47 +07:00
Victor Zverovich
755ecb0311 Fix warnings 2014-10-13 08:39:38 -07:00
Victor Zverovich
5189274797 Fix warnings 2014-10-13 06:46:07 -07:00
Victor Zverovich
8b76e97062 Support compilation with exceptions disabled 2014-10-06 08:30:55 -07:00
Victor Zverovich
fae3ae67b9 Fix util-test 2014-10-01 09:32:31 -07:00
Victor Zverovich
03f7f99f4c Fix build on pre-C++11 compilers 2014-10-01 08:24:47 -07:00
Victor Zverovich
8b9a6e03f6 Test buffer 2014-10-01 08:12:10 -07:00
Victor Zverovich
74dc571ba0 Support signed char and unsigned char strings 2014-09-30 08:15:56 -07:00
Victor Zverovich
98a25ec7cb Test Buffer 2014-09-30 07:30:27 -07:00
Victor Zverovich
313b259891 Use type_traits to test if copyable/assignable
Replace compile tests that check if types are copy constructible and copy assignable with normal tests that use type_traits (if available).
2014-09-30 07:30:05 -07:00
Victor Zverovich
d00f689c40 Fix type_traits check 2014-09-29 11:03:18 -07:00
Victor Zverovich
b79d06a5da Escape quotes 2014-09-29 10:44:48 -07:00
Victor Zverovich
2846a9eb38 Check if is_copy_assignable is working
is_copy_assignable is broken in MSVC.
2014-09-29 10:42:16 -07:00
Victor Zverovich
810f42c0c7 Fix util-test on Windows, take 2 2014-09-29 09:59:49 -07:00
Victor Zverovich
55a16eaec7 Fix util-test on Windows 2014-09-29 09:37:33 -07:00
Victor Zverovich
a309c4bbed Fix posix-test on Windows 2014-09-29 09:28:44 -07:00
Victor Zverovich
dd90129066 Check if type_traits actually work. 2014-09-29 09:15:41 -07:00
Victor Zverovich
d1ded569ff Separate memory management and formatting
Array is split into an abstract Buffer class and a concrete MemoryBuffer class. BasicWriter now does all memory allocation through a Buffer object. Subclasses of BasicWriter may use different buffer types. The new BasicMemoryBuffer class uses the default MemoryBuffer.
2014-09-29 08:48:16 -07:00
Victor Zverovich
b2bd63d2d9 Test ArgList 2014-09-25 09:11:51 -07:00
Victor Zverovich
c2f02df2f5 Fix warning in clang 2014-09-25 07:38:16 -07:00
Victor Zverovich
75a2ea03a7 Reduce code bloat
Special case C strings because there is no need to handle size for them. Add support for pre-C++11 compilers to make_type.
2014-09-25 07:10:44 -07:00
Victor Zverovich
ae8bc36e57 MakeArg -> MakeValue 2014-09-24 08:07:50 -07:00
Victor Zverovich
ec1aea34e6 Refactor type processing 2014-09-24 07:48:45 -07:00
Victor Zverovich
ab6e759291 pointer_value -> pointer 2014-09-23 08:21:58 -07:00
Victor Zverovich
d2973766ea ArgBase -> Value 2014-09-23 08:11:03 -07:00
Victor Zverovich
beb00edf73 Store types in ArgList instead of Arg 2014-09-23 07:59:43 -07:00
Victor Zverovich
49222dc0c7 Improve allocator test 2014-09-23 07:58:23 -07:00
Victor Zverovich
b9a568b1dd Add support for custom memory allocator to BasicWriter 2014-09-19 07:51:42 -07:00
Victor Zverovich
6a98f42336 Add support for custom allocators 2014-09-18 09:07:40 -07:00
Victor Zverovich
c76b22405d Replace GTest with GMock (includes GTest) 2014-09-17 08:01:42 -07:00
Victor Zverovich
b54d6e7124 Fix posix-test, take 3. 2014-09-12 18:22:45 -07:00
Victor Zverovich
94daf27c9d Fix posix-test, take 2. 2014-09-12 17:41:04 -07:00
Victor Zverovich
434e83a192 Fix posix-test. 2014-09-12 17:16:22 -07:00
Victor Zverovich
ddd95965e1 Fix MaxSize test. 2014-09-12 16:52:15 -07:00
Victor Zverovich
a3062f6647 Disambiguate a call 2014-09-12 16:18:04 -07:00
Victor Zverovich
352b6ae496 Workaround more Windows crap. 2014-09-12 15:18:11 -07:00
Victor Zverovich
74169e4b5d Add a portable getpagesize() implementation 2014-09-12 13:53:52 -07:00
Victor Zverovich
cb7caa540f Move FMT_STATIC_ASSERT to header and test. 2014-09-12 12:05:32 -07:00
Victor Zverovich
949c3c5df4 Test if File::size can handle maximum file size. 2014-09-12 11:12:22 -07:00
Victor Zverovich
e34e9fa0c7 Add File::size and make File's ctor take StringRef. 2014-09-12 10:50:16 -07:00
Victor Zverovich
d59fbdcd4a Increase the maximum number of formatting arguments on compilers without variadic templates to 15. 2014-09-11 21:18:36 -07:00
Victor Zverovich
445663fade Fix windows build. 2014-09-05 10:56:00 -07:00
Victor Zverovich
f2c9df8e9f Move safe_strerror to anonymous namespace. 2014-09-05 08:44:41 -07:00
Victor Zverovich
b33d2aa825 Workaround Windows braindamage. 2014-09-05 08:06:07 -07:00
Victor Zverovich
88e0db8486 Test format_error_code. 2014-09-05 08:04:26 -07:00
Victor Zverovich
d4916d9271 Add missing file. 2014-09-05 07:35:00 -07:00
Victor Zverovich
fe9888a1e2 Move implementation tests to format-impl-test. 2014-09-05 07:12:20 -07:00
Victor Zverovich
93bcad6d8e Fix Windows build. 2014-09-03 08:10:20 -07:00
Victor Zverovich
22f75d8b6d Don't throw exceptions from error formatting functions. Gracefully fallback to a less descriptive message instead. 2014-09-03 08:03:05 -07:00
Victor Zverovich
605d2600f8 Improve error reporting. 2014-08-29 07:45:55 -07:00
Victor Zverovich
271fa8c908 Improve handling of format strings in custom arguments. 2014-08-29 07:23:54 -07:00
Victor Zverovich
ab35af53c5 Check result of fread. 2014-08-29 06:57:26 -07:00
Victor Zverovich
564da25932 Add ctor & print method to BufferedFile. 2014-08-28 11:53:05 -07:00
Victor Zverovich
279c7a6e6a Change "number is too big in format" to "number is too big" because the error can occur not only in the format function. 2014-08-28 06:50:52 -07:00
Victor Zverovich
526b7fc91d Throw exception in parse_nonnegative_int if the number is too big. 2014-08-28 06:42:59 -07:00
Victor Zverovich
da0f7c0a51 Improve error reporting in parse_arg_index. 2014-08-27 09:04:51 -07:00
Victor Zverovich
42de4f1f7d Get rid of FormatErrorReporter. 2014-08-27 08:24:31 -07:00
Victor Zverovich
8cc0d21124 Move the Crash Reporter fix to Google Test where it belongs. 2014-08-23 10:25:21 -07:00
Victor Zverovich
59a462c67d Make sure that Crash Reporter is not invoked on death tests. 2014-08-23 10:04:06 -07:00
Victor Zverovich
f9561671cf Write docs. 2014-08-21 07:30:00 -07:00
Victor Zverovich
da0293c4dd Add missing include. 2014-08-21 07:29:23 -07:00
Victor Zverovich
03cdf1235a Test printf. 2014-08-21 07:14:02 -07:00
Victor Zverovich
f1ac0a19e9 Test float. 2014-08-20 08:21:06 -07:00
Victor Zverovich
be00d8b272 Convert integer argument like printf does. 2014-08-19 08:49:10 -07:00
Victor Zverovich
c4a4a05d12 Improve handling of char in printf. 2014-08-19 08:14:21 -07:00
Victor Zverovich
f2be7851cc Fix a warning. 2014-08-19 07:29:30 -07:00
Victor Zverovich
e0f92d675e Fix a warning. 2014-08-19 07:14:25 -07:00
Victor Zverovich
39ac84f01e Comment. 2014-08-18 07:03:22 -07:00
Victor Zverovich
186734cf8b Fix warnings. 2014-08-18 07:03:12 -07:00
Victor Zverovich
c978d88183 Test ArgConverter. 2014-08-15 08:40:13 -07:00
Victor Zverovich
fb32161fa4 Move implementation specific stuff from format.h to format.cc. 2014-08-15 08:40:03 -07:00
Victor Zverovich
c7cfa7d4e7 More tests. 2014-08-15 06:58:24 -07:00
Victor Zverovich
1a0c76a81a Fix formatting of long double. 2014-08-13 07:51:02 -07:00
Victor Zverovich
18f1e08685 Test 'll' specifier. 2014-08-13 06:59:29 -07:00
Victor Zverovich
ddd087d8d1 Test more length specifiers. 2014-08-13 06:42:15 -07:00
Victor Zverovich
5614295aa1 Test 'l' specifier. 2014-08-12 08:15:39 -07:00
Victor Zverovich
7c14431211 Enable 'h' speciffier tests. 2014-08-12 06:49:27 -07:00
Victor Zverovich
adbf3f8b86 Rewrite length specifier tests without using printf to workaround broken MSVC implementation. 2014-08-11 08:34:17 -07:00
Victor Zverovich
137153b9f0 Take integer promotion into account. 2014-08-11 06:54:58 -07:00
Victor Zverovich
910dec5ed3 Fix 'l' specifier test. 2014-08-11 06:33:40 -07:00
Victor Zverovich
028d12dacd Disable 'l' specifier tests. 2014-08-09 10:12:36 -07:00
Victor Zverovich
316ae7e244 Implement more printf length specifiers. 2014-08-09 10:04:35 -07:00
Victor Zverovich
6a8becb5bf Rearrange tests to simplify inclusion in other projects, part 2. 2014-08-09 09:07:15 -07:00
Victor Zverovich
56fb75c2ec Rearrange tests to simplify inclusion in other projects. 2014-08-09 09:04:38 -07:00
Victor Zverovich
bdbacde659 Test 'h' specifier. 2014-08-09 08:53:14 -07:00
Victor Zverovich
3465d056e7 Test hh specifier with unsigned char. 2014-08-08 06:59:17 -07:00
Victor Zverovich
566061d1f1 Fix formatting of signed ints in test. 2014-08-06 08:21:12 -07:00
Victor Zverovich
e04b07921f Debug length specifier test. 2014-08-06 07:16:49 -07:00
Victor Zverovich
8b41b09add Test 'hh' and 'h' printf specifiers. 2014-08-06 07:00:04 -07:00
Victor Zverovich
86bbd3c238 Test hh length. 2014-08-05 08:21:47 -07:00
Victor Zverovich
b797d39dd1 Test printf length. 2014-08-05 07:52:59 -07:00
Victor Zverovich
fc10d10b6b Disable hh specifier tests for now because broken MSVC's printf causes test failures. 2014-08-01 08:50:09 -07:00
Victor Zverovich
a259c941e2 Implement 'l' length specifier. 2014-08-01 07:15:27 -07:00
Victor Zverovich
d81fafc295 Fix tests on MSVC, take 2. 2014-07-31 07:43:14 -07:00
Victor Zverovich
3f444fe3e2 Fix tests on MSVC. 2014-07-31 06:47:24 -07:00