catch2/projects/SelfTest/IntrospectiveTests
Martin Hořeňovský 50cc14c94c
Rework StringRef interface and internals
Now it no longer tries to be this weird hybrid between an owning
and non-owning reference, and is only ever non-owning. This is also
reflected in its interface, for example `StringRef::isNullTerminated`
is now public, and `StringRef::c_str()` has the precondition that it
is true.

Overview of the changes:
* The `StringRef::m_data` member has been completely removed, as it
had no more uses.
* `StringRef::isSubstring()` has been made public and renamed to
`StringRef::isNullTerminated()`, so that the name reflects what the
method actually does.
* `StringRef::currentData()` has been renamed to `StringRef::data()`,
to be in line with common C++ containers and container-alikes.
* `StringRef::c_str()` will no longer silently make copies. It instead
has a precondition that `isNullTerminated()` is true.
* If the user needs a null-terminated string, they should use the
`std::string` conversion operator and call `c_str()` on the resulting
`std::string`.
* Some small optimizations in various places.
* Basic functionality is now `constexpr`.
2019-10-25 13:57:52 +02:00
..
CmdLine.tests.cpp Add tests for escaping special characters in CLI 2019-09-21 00:50:17 +02:00
Details.tests.cpp Remove the new tests from approvals 2019-08-09 11:13:28 +02:00
GeneratorsImpl.tests.cpp Have the random generators use the global rng instance 2019-10-07 21:53:07 +02:00
InternalBenchmark.tests.cpp Various improvements to the benchmarking support 2019-06-06 21:28:56 +02:00
PartTracker.tests.cpp Add integration test for the children completion check fix 2019-06-30 00:00:41 +02:00
RandomNumberGeneration.tests.cpp Introduce Catch's own RNG based on the PCG family of RNGs 2019-10-07 19:56:23 +02:00
String.tests.cpp Rework StringRef interface and internals 2019-10-25 13:57:52 +02:00
StringManip.tests.cpp Split out the rest of string manipulation tests 2019-09-07 20:22:36 +02:00
Tag.tests.cpp Fix test tag parsing to split [.foo] into [.][foo] 2019-03-29 10:48:56 +01:00
ToString.tests.cpp Use StringRefs through the enum registration 2019-09-08 14:14:46 +02:00
Xml.tests.cpp Modify XML encoder to hex-encode invalid UTF-8 sequences 2018-03-27 16:49:14 +02:00