Phil Nash
e62a9aa444
Removed const refs from NSString/ NSObject overloads (effectively reapplies PR #855 originally applied to "1.x" master)
2017-06-26 16:48:38 +01:00
Martin Hořeňovský
67914d8b86
Move back to static StringMaker<T>::convert
...
This avoids some breakage from the modernization
2017-05-21 23:40:05 +02:00
Martin Hořeňovský
c5c3d368a2
Added std:: qualification to nullptr_t
...
Apparently Clang doesn't like it unqualfied 😄
2017-05-03 00:29:36 +02:00
Martin Hořeňovský
33ed1773f4
Reworked stringification layer, removed Catch::toString
...
Now the order of stringification checks is
1) StringMaker specialization
2) operator<<
toString overloads and specializations have been removed.
2017-05-02 23:51:03 +02:00
Martin Hořeňovský
c6980ec2d8
Remove C++98 backcompat from toString
2017-04-25 11:21:22 +02:00
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