Commit Graph

46 Commits

Author SHA1 Message Date
Martin Hořeňovský f58ff0c540 Remove \l, add \f in character pretty printing
I have never head of \l and MSVC warns about unknown escape sequence, so
I changed it into \f that definitely exists and potentially might be
useful.
2017-02-01 21:31:14 +01:00
Eric Schmidt 5121b5b058 Put quote marks around printed characters; also nicely print some escapes 2017-01-31 21:53:36 +01:00
Martin Hořeňovský bcaa2f9646 Use char literal instead of string literal with 1 char
In reality, this is a relatively small performance improvement,
especially with the previous improvements removing lots of superfluous
string handling, but still was measurable.
2017-01-29 23:07:15 +01:00
Martin Hořeňovský c390c4cb9f Fixed inconsistent and trailing whitespace
This means that all tabs used in indentation are now 4 spaces and that
there should be no more trailing whitespace.

Ill also look into creating a pre-commit hook that will prevent this
from happening in the future.

Fixes #105
2017-01-26 23:13:12 +01:00
Martin Hořeňovský 3b98a0166f Various small string usage performance improvements.
* Empty strings are now direct constructed as `std::string()`, not as empty string literals.
* `startsWith` and `endsWith` no longer construct new a string. This should be an improvement
for libstdc++ when using older standards, as it doesn't use SSO but COW and thus even short
strings are expensive to first create.
* Various places now use char literal instead of string literals containing single char.
** `startsWith` and `endsWith` now also have overload that takes single char.

Generally the performance improvements under VS2015 are small, as going from short string
to char is mostly meaningless because of SSO (Catch doesn't push string handling that hard)
and previous commit removed most string handling if tests pass, which is the expect case.
2017-01-15 10:05:01 +01:00
Phil Nash e91738103c Stripped trailing whitespace from all source code lines
(replaces need for PRs #310 and #504)
2015-11-04 18:04:15 +00:00
Phil Nash 733ebb6024 Added CATCH_CONFIG_CPP11_LONG_LONG support 2015-07-23 23:05:05 +01:00
Phil Nash 6ed74b5cab changed hex threshold on ints to 255
- and print it in *addition* to the decimal form
2015-05-20 18:28:22 +01:00
Phil Nash ff9e51df7f toString( int ) uses hex for large values
now matches behaviour of unsigned int
2014-12-12 08:10:45 +00:00
Phil Nash b0545d1f12 Some toString cleanups 2014-12-09 18:49:58 +00:00
Phil Nash ea33961b43 Factored out mention of "unprintable string" ("{?}") 2014-09-08 08:14:59 +01:00
Ben Arnold 7b0a84a048 toString handles wchar_t raw strings 2014-08-14 12:28:23 +01:00
Phil Nash d89e74faff Format floats like doubles when printing - but add ‘f’ suffix (a lá #291) 2014-07-09 18:16:40 +01:00
Phil Nash 006aafd982 Some clean-ups for string handling in Objective-C 2014-06-20 18:05:31 +01:00
Phil Nash 7cbf74061b Tweaked rawMemoryToString() along lines of suggestion in #281 2014-05-23 18:41:02 +01:00
Phil Nash 328a469c03 Moved tostring impl into catch_tostring.hpp 2014-04-23 07:03:15 +01:00
Phil Nash 97150f27ac Renamed catch_tostring.hpp catch_tostring.h
- in preparation for splitting implementation into catch_tostring.hpp
2014-04-23 06:51:58 +01:00
Phil Nash 7059b2cdac Added ability to show “invisibles” in strings (just tabs and newline chars, for now). 2014-04-22 18:23:42 +01:00
Phil Nash 48153e8e10 Considers endianness when printing raw memory into a string 2014-04-22 08:19:11 +01:00
Phil Nash 46a1fc7615 Removed unnecessary union name 2014-01-07 17:43:18 +00:00
Phil Nash e091018514 Fixes toString() for function pointers and added support for member function pointers.
- thanks to Malcolm Noyes for supplying sample code on which the solution here was based
2014-01-07 17:25:27 +00:00
Phil Nash 440a47011f Convert pointers to integrates when printing.
- handles function pointers that way too (otherwise printed as 1 by gcc and clang)
2014-01-04 19:12:05 +00:00
Phil Nash c2b0c6fb08 Added missing #include for <vector> 2013-11-07 10:35:59 +00:00
Andy Sawyer d6f23a9a36 catch_tostring : moved defintion of rangeToString
Detail::rangeToString is now defined after the various toString
overloads. This results in them being accessible with rangeToString is
instantiated (in this case, by StringMaker<vector>). This (sort-of)
fixes the problem where contained types are toString'd incorrectly.

Consider:
  std::vector<std::string> v { "abc" };

Before:
  Catch::toString( v ) == "{ abc }"
After:
  Catch::toString( v ) == "{ "abc" }"

(note the extra pair of quotes around the "abc" - these are added by
Catch::toString( std::string ) which is now called by rangeToString)
2013-09-21 18:45:42 +01:00
Andy Sawyer 0dbcf218c3 Add allocator support to StringMaker<vector>
- also extracted out 'rangeToString', in an attempt to make it easier
   to add support for other containers
2013-09-17 22:22:47 +01:00
Phil Nash 1e2f1d1603 Fixes toString forward reference issue:
- as raised in https://github.com/philsquared/Catch/pull/195
2013-09-14 19:58:45 +01:00
Phil Nash 2ddb9d3802 Completed CumulativeReporterBase and reimplemented JUnitReporter in terms of it 2013-08-15 18:39:55 +01:00
Phil Nash f3d1f08c3b Removed all trailing whitespace
- addresses #105
2013-07-03 19:14:59 +01:00
Phil Nash 503d5d0c8e Converted stray tabs to spaces 2013-07-03 08:25:11 +01:00
Phil Nash 066a6388d6 Fix for #179 2013-07-01 18:45:19 +01:00
Phil Nash 2a9d8d9e36 Changed "const X ref"s to "X const ref"s
- Brought older code up to current convention (with the help of a Python script)
2013-04-23 18:58:56 +01:00
Phil Nash 4dd3f68dd9 Compiler capabilities clean-up
- renamed CATCH_SFINAE -> CATCH_CONFIG_SFINAE
- moved variadic macros detection into catch_compiler_capabilities.h
2013-04-22 08:19:17 +01:00
Phil Nash 9fff9e47d3 Complete disable CATCH_SFINAE for now 2013-04-20 23:18:44 +01:00
Phil Nash 003960dc90 Returned to older version of IsStreamable
- this time based on code from Martin Moene
https://gist.github.com/martinmoene/5418947#file-insertionopdetector-cpp
2013-04-20 23:12:17 +01:00
Phil Nash 5062d3e92b Added (conditional) SFINAE support.
Better streamable detection for toString using SFINAE (falls back to non-SFINAE version without)
2013-04-16 22:55:31 +01:00
Phil Nash 32e70b2235 Fixes nil NSString issue reported in #159 2013-03-12 18:49:22 +00:00
Phil Nash 767f1588dc Added StringMaker (for partially specialising string conversions), extended BDD macros and moved file/line info to top of message.
Re-enable ANSI colour by default - hopefully properly excluding Windows this time
2013-03-04 12:19:15 +01:00
Phil Nash 86ad6348d4 Split original/ expanded expressions over multiple lines 2012-12-14 07:49:18 +00:00
Phil Nash ffe986d4ee Split result info from impl 2012-08-08 08:50:38 +01:00
Phil Nash 0dc9e43c02 Fixed toString for NSString* in Xcode 4.4 2012-08-01 08:17:07 +01:00
Phil Nash 78372d09d4 Added toString overload for chars
(and, by extension, Obj-C's BOOL)
2012-06-06 08:06:40 +01:00
Konrad Rudolph 84434be949 Silence "unused parameter" warning. 2012-05-23 11:22:49 +01:00
Phil Nash 2efc1146bf Reformatting 2012-05-15 07:42:26 +01:00
Phil Nash 8d69208a58 Fixed some warnings
As referenced in GitHub issue #83
2012-05-11 19:05:53 +01:00
Phil Nash 5ec53b2788 renamed hub -> context
(also did some reformatting)
2012-05-10 07:58:48 +01:00
Phil Nash 81a122e66a Factored toString overloads into their own file 2012-05-08 08:10:49 +01:00