LineWrapper can indent first line differently to subsequent lines

- use this to wrap Given/ When/ Then with indent after the :
This commit is contained in:
Phil Nash 2013-04-05 20:55:57 +01:00
parent f186a912d4
commit 4746caacaf
9 changed files with 294 additions and 131 deletions

View File

@ -32,10 +32,7 @@ namespace {
GetConsoleScreenBufferInfo( stdoutHandle, &csbiInfo ); GetConsoleScreenBufferInfo( stdoutHandle, &csbiInfo );
originalAttributes = csbiInfo.wAttributes; originalAttributes = csbiInfo.wAttributes;
} }
~Win32ColourImpl() {
use( Colour::None );
}
virtual void use( Colour::Code _colourCode ) { virtual void use( Colour::Code _colourCode ) {
switch( _colourCode ) { switch( _colourCode ) {
case Colour::None: return setTextAttribute( originalAttributes ); case Colour::None: return setTextAttribute( originalAttributes );
@ -86,10 +83,6 @@ namespace {
// https://github.com/philsquared/Catch/pull/131 // https://github.com/philsquared/Catch/pull/131
class PosixColourImpl : public Detail::IColourImpl { class PosixColourImpl : public Detail::IColourImpl {
public: public:
PosixColourImpl() {
use( Colour::None );
}
virtual void use( Colour::Code _colourCode ) { virtual void use( Colour::Code _colourCode ) {
switch( _colourCode ) { switch( _colourCode ) {
case Colour::None: case Colour::None:

View File

@ -18,7 +18,9 @@ namespace Catch {
LineWrapper(); LineWrapper();
LineWrapper& setIndent( std::size_t _indent ); LineWrapper& setIndent( std::size_t _indent );
LineWrapper& setInitialIndent( std::size_t _initalIndent );
LineWrapper& setRight( std::size_t _right ); LineWrapper& setRight( std::size_t _right );
LineWrapper& setTabChar( char _tabChar );
LineWrapper& wrap( std::string const& _str ); LineWrapper& wrap( std::string const& _str );
@ -38,12 +40,15 @@ namespace Catch {
void wrapInternal( std::string const& _str ); void wrapInternal( std::string const& _str );
void addLine( const std::string& _line ); void addLine( const std::string& _line );
bool isWrapPoint( char c ); bool isWrapPoint( char c );
std::size_t getCurrentIndent() const;
std::string indent;
std::size_t right; std::size_t right;
std::size_t nextTab; std::size_t nextTab;
std::size_t tab; std::size_t tab;
std::size_t indent;
std::size_t initialIndent;
std::string wrappableChars; std::string wrappableChars;
char tabChar;
int recursionCount; int recursionCount;
std::vector<std::string> lines; std::vector<std::string> lines;
}; };

View File

@ -16,12 +16,19 @@ namespace Catch {
: right( CATCH_CONFIG_CONSOLE_WIDTH-1 ), : right( CATCH_CONFIG_CONSOLE_WIDTH-1 ),
nextTab( 0 ), nextTab( 0 ),
tab( 0 ), tab( 0 ),
indent( 0 ),
initialIndent( (std::size_t)-1 ), // use indent by default
wrappableChars( " [({.,/|\\" ), wrappableChars( " [({.,/|\\" ),
tabChar( '\t' ),
recursionCount( 0 ) recursionCount( 0 )
{} {}
LineWrapper& LineWrapper::setIndent( std::size_t _indent ) { LineWrapper& LineWrapper::setIndent( std::size_t _indent ) {
indent = std::string( _indent, ' ' ); indent = _indent;
return *this;
}
LineWrapper& LineWrapper::setInitialIndent( std::size_t _initialIndent ) {
initialIndent = _initialIndent;
return *this; return *this;
} }
LineWrapper& LineWrapper::setRight( std::size_t _right ) { LineWrapper& LineWrapper::setRight( std::size_t _right ) {
@ -33,13 +40,17 @@ namespace Catch {
wrapInternal( _str ); wrapInternal( _str );
return *this; return *this;
} }
LineWrapper& LineWrapper::setTabChar( char _tabChar ) {
tabChar = _tabChar;
return *this;
}
bool LineWrapper::isWrapPoint( char c ) { bool LineWrapper::isWrapPoint( char c ) {
return wrappableChars.find( c ) != std::string::npos; return wrappableChars.find( c ) != std::string::npos;
} }
void LineWrapper::wrapInternal( std::string const& _str ) { void LineWrapper::wrapInternal( std::string const& _str ) {
assert( ++recursionCount < 100 ); assert( ++recursionCount < 100 );
std::size_t width = right - indent.size(); std::size_t width = right - getCurrentIndent();
std::size_t wrapPoint = width-tab; std::size_t wrapPoint = width-tab;
for( std::size_t pos = 0; pos < _str.size(); ++pos ) { for( std::size_t pos = 0; pos < _str.size(); ++pos ) {
if( _str[pos] == '\n' ) if( _str[pos] == '\n' )
@ -61,7 +72,7 @@ namespace Catch {
} }
return wrapInternal( _str.substr( wrapPoint ) ); return wrapInternal( _str.substr( wrapPoint ) );
} }
if( _str[pos] == '\t' ) { if( _str[pos] == tabChar ) {
nextTab = pos; nextTab = pos;
std::string withoutTab = _str.substr( 0, nextTab ) + _str.substr( nextTab+1 ); std::string withoutTab = _str.substr( 0, nextTab ) + _str.substr( nextTab+1 );
return wrapInternal( withoutTab ); return wrapInternal( withoutTab );
@ -89,14 +100,18 @@ namespace Catch {
} }
void LineWrapper::addLine( const std::string& _line ) { void LineWrapper::addLine( const std::string& _line ) {
if( tab > 0 ) lines.push_back( std::string( tab + getCurrentIndent(), ' ' ) + _line );
lines.push_back( indent + std::string( tab, ' ' ) + _line );
else
lines.push_back( indent + _line );
if( nextTab > 0 ) if( nextTab > 0 )
tab = nextTab; tab = nextTab;
} }
std::size_t LineWrapper::getCurrentIndent() const
{
return (initialIndent != (std::size_t)-1 && lines.empty() )
? initialIndent
: indent;
}
} // end namespace Catch } // end namespace Catch
#endif // TWOBLUECUBES_CATCH_LINE_WRAP_HPP_INCLUDED #endif // TWOBLUECUBES_CATCH_LINE_WRAP_HPP_INCLUDED

View File

@ -288,7 +288,8 @@ namespace Catch {
if( !sections.empty() ) { if( !sections.empty() ) {
typedef std::vector<ThreadedSectionInfo*>::const_reverse_iterator It; typedef std::vector<ThreadedSectionInfo*>::const_reverse_iterator It;
for( It it = sections.rbegin(), itEnd = sections.rend(); it != itEnd; ++it ) for( It it = sections.rbegin(), itEnd = sections.rend(); it != itEnd; ++it )
stream << " " << (*it)->name << "\n"; printUserString( (*it)->name, 2 );
} }
} }
stream << getDots() << "\n" << std::endl; stream << getDots() << "\n" << std::endl;
@ -306,10 +307,24 @@ namespace Catch {
} }
{ {
Colour colourGuard( Colour::Headers ); Colour colourGuard( Colour::Headers );
stream << _name << "\n"; printUserString( _name );
} }
} }
// if string has a : in first line will set indent to follow it on
// subsequent lines
void printUserString( std::string const& _string, std::size_t indent = 0 ) {
std::size_t i = _string.find( ": " );
if( i != std::string::npos )
i+=2;
else
i = 0;
stream << LineWrapper()
.setIndent( indent+i)
.setInitialIndent( indent )
.wrap( _string ) << "\n";
}
void printTotals( const Totals& totals ) { void printTotals( const Totals& totals ) {
if( totals.assertions.total() == 0 ) { if( totals.assertions.total() == 0 ) {
stream << "No tests ran"; stream << "No tests ran";

View File

@ -61,4 +61,8 @@ SCENARIO( "This is a really long scenario name to see how the list command dea
"[very long tags][lots][long][tags][verbose]" "[very long tags][lots][long][tags][verbose]"
"[one very long tag name that should cause line wrapping writing out using the list command]" "[one very long tag name that should cause line wrapping writing out using the list command]"
"[anotherReallyLongTagNameButThisOneHasNoObviousWrapPointsSoShouldSplitWithinAWordUsingADashCharacter]" ) { "[anotherReallyLongTagNameButThisOneHasNoObviousWrapPointsSoShouldSplitWithinAWordUsingADashCharacter]" ) {
GIVEN( "A section name that is so long that it cannot fit in a single console width" )
WHEN( "The test headers are printed as part of the normal running of the scenario" )
THEN( "The, deliberately very long and overly verbose (you see what I did there?) section names must wrap, along with an indent" )
SUCCEED("boo!");
} }

View File

@ -4706,14 +4706,34 @@ with expansion:
"four" == "four" "four" == "four"
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
TestMain.cpp:477 TestMain.cpp:470
Long strings can be wrapped
plain string
Indent first line differently
...............................................................................
TestMain.cpp:475:
PASSED:
CHECK( Catch::LineWrapper() .setRight( 10 ) .setIndent( 4 ) .setInitialIndent( 1 ) .wrap( testString ).toString() == " one two\n three\n four" )
with expansion:
" one two
three
four"
==
" one two
three
four"
-------------------------------------------------------------------------------
TestMain.cpp:485
Long strings can be wrapped Long strings can be wrapped
With newlines With newlines
No wrapping No wrapping
............................................................................... ...............................................................................
TestMain.cpp:478: TestMain.cpp:486:
PASSED: PASSED:
CHECK( Catch::LineWrapper().setRight( 80 ).wrap( testString ).toString() == testString ) CHECK( Catch::LineWrapper().setRight( 80 ).wrap( testString ).toString() == testString )
with expansion: with expansion:
@ -4723,7 +4743,7 @@ with expansion:
"one two "one two
three four" three four"
TestMain.cpp:479: TestMain.cpp:487:
PASSED: PASSED:
CHECK( Catch::LineWrapper().setRight( 18 ).wrap( testString ).toString() == testString ) CHECK( Catch::LineWrapper().setRight( 18 ).wrap( testString ).toString() == testString )
with expansion: with expansion:
@ -4733,7 +4753,7 @@ with expansion:
"one two "one two
three four" three four"
TestMain.cpp:480: TestMain.cpp:488:
PASSED: PASSED:
CHECK( Catch::LineWrapper().setRight( 10 ).wrap( testString ).toString() == testString ) CHECK( Catch::LineWrapper().setRight( 10 ).wrap( testString ).toString() == testString )
with expansion: with expansion:
@ -4744,14 +4764,14 @@ with expansion:
three four" three four"
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
TestMain.cpp:482 TestMain.cpp:490
Long strings can be wrapped Long strings can be wrapped
With newlines With newlines
Trailing newline Trailing newline
............................................................................... ...............................................................................
TestMain.cpp:483: TestMain.cpp:491:
PASSED: PASSED:
CHECK( Catch::LineWrapper().setRight( 10 ).wrap( "abcdef\n" ).toString() == "abcdef\n" ) CHECK( Catch::LineWrapper().setRight( 10 ).wrap( "abcdef\n" ).toString() == "abcdef\n" )
with expansion: with expansion:
@ -4761,13 +4781,13 @@ with expansion:
"abcdef "abcdef
" "
TestMain.cpp:484: TestMain.cpp:492:
PASSED: PASSED:
CHECK( Catch::LineWrapper().setRight( 6 ).wrap( "abcdef" ).toString() == "abcdef" ) CHECK( Catch::LineWrapper().setRight( 6 ).wrap( "abcdef" ).toString() == "abcdef" )
with expansion: with expansion:
"abcdef" == "abcdef" "abcdef" == "abcdef"
TestMain.cpp:485: TestMain.cpp:493:
PASSED: PASSED:
CHECK( Catch::LineWrapper().setRight( 6 ).wrap( "abcdef\n" ).toString() == "abcdef\n" ) CHECK( Catch::LineWrapper().setRight( 6 ).wrap( "abcdef\n" ).toString() == "abcdef\n" )
with expansion: with expansion:
@ -4778,14 +4798,14 @@ with expansion:
" "
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
TestMain.cpp:487 TestMain.cpp:495
Long strings can be wrapped Long strings can be wrapped
With newlines With newlines
Wrapped once Wrapped once
............................................................................... ...............................................................................
TestMain.cpp:488: TestMain.cpp:496:
PASSED: PASSED:
CHECK( Catch::LineWrapper().setRight( 9 ).wrap( testString ).toString() == "one two\nthree\nfour" ) CHECK( Catch::LineWrapper().setRight( 9 ).wrap( testString ).toString() == "one two\nthree\nfour" )
with expansion: with expansion:
@ -4797,7 +4817,7 @@ with expansion:
three three
four" four"
TestMain.cpp:489: TestMain.cpp:497:
PASSED: PASSED:
CHECK( Catch::LineWrapper().setRight( 8 ).wrap( testString ).toString() == "one two\nthree\nfour" ) CHECK( Catch::LineWrapper().setRight( 8 ).wrap( testString ).toString() == "one two\nthree\nfour" )
with expansion: with expansion:
@ -4809,7 +4829,7 @@ with expansion:
three three
four" four"
TestMain.cpp:490: TestMain.cpp:498:
PASSED: PASSED:
CHECK( Catch::LineWrapper().setRight( 7 ).wrap( testString ).toString() == "one two\nthree\nfour" ) CHECK( Catch::LineWrapper().setRight( 7 ).wrap( testString ).toString() == "one two\nthree\nfour" )
with expansion: with expansion:
@ -4822,14 +4842,14 @@ with expansion:
four" four"
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
TestMain.cpp:492 TestMain.cpp:500
Long strings can be wrapped Long strings can be wrapped
With newlines With newlines
Wrapped twice Wrapped twice
............................................................................... ...............................................................................
TestMain.cpp:493: TestMain.cpp:501:
PASSED: PASSED:
CHECK( Catch::LineWrapper().setRight( 6 ).wrap( testString ).toString() == "one\ntwo\nthree\nfour" ) CHECK( Catch::LineWrapper().setRight( 6 ).wrap( testString ).toString() == "one\ntwo\nthree\nfour" )
with expansion: with expansion:
@ -4843,6 +4863,17 @@ with expansion:
three three
four" four"
hello
hello
-------------------------------------------------------------------------------
TestMain.cpp:604
Strings can be rendered with colour
...............................................................................
No assertions in test case, 'Strings can be rendered with colour'
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
TrickyTests.cpp:32 TrickyTests.cpp:32
@ -5161,6 +5192,40 @@ PASSED:
with expansion: with expansion:
true true
-------------------------------------------------------------------------------
VariadicMacrosTests.cpp:12
Anonymous test case 1
...............................................................................
VariadicMacrosTests.cpp:14:
PASSED:
with message:
anonymous test case
-------------------------------------------------------------------------------
VariadicMacrosTests.cpp:17
Test case with one argument
...............................................................................
VariadicMacrosTests.cpp:19:
PASSED:
with message:
no assertions
-------------------------------------------------------------------------------
VariadicMacrosTests.cpp:24
Variadic macros
Section with one argument
...............................................................................
VariadicMacrosTests.cpp:26:
PASSED:
with message:
no assertions
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
BDDTests.cpp:19 BDDTests.cpp:19
@ -5365,50 +5430,25 @@ with expansion:
0 == 0 0 == 0
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
BDDTests.cpp:63 BDDTests.cpp:66
Scenario: This is a really long scenario name to see how the list command deals with wrapping Scenario: This is a really long scenario name to see how the list command
deals with wrapping
Given: A section name that is so long that it cannot fit in a single
console width
When: The test headers are printed as part of the normal running of the
scenario
Then: The, deliberately very long and overly verbose (you see what I did
there?) section names must wrap, along with an indent
............................................................................... ...............................................................................
BDDTests.cpp:67:
No assertions in test case, 'Scenario: This is a really long scenario name to see how the list command deals with wrapping'
-------------------------------------------------------------------------------
VariadicMacrosTests.cpp:12
Anonymous test case 1
...............................................................................
VariadicMacrosTests.cpp:14:
PASSED: PASSED:
with message: with message:
anonymous test case boo!
-------------------------------------------------------------------------------
VariadicMacrosTests.cpp:17
Test case with one argument
...............................................................................
VariadicMacrosTests.cpp:19:
PASSED:
with message:
no assertions
-------------------------------------------------------------------------------
VariadicMacrosTests.cpp:24
Variadic macros
Section with one argument
...............................................................................
VariadicMacrosTests.cpp:26:
PASSED:
with message:
no assertions
=============================================================================== ===============================================================================
108 test cases - 48 failed (697 assertions - 105 failed) 109 test cases - 48 failed (699 assertions - 105 failed)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -5729,7 +5769,7 @@ with expansion:
13 test cases - 3 failed (40 assertions - 4 failed) 13 test cases - 3 failed (40 assertions - 4 failed)
<testsuites> <testsuites>
<testsuite name="~dummy" errors="9" failures="77" tests="697" hostname="tbd" time="tbd" timestamp="tbd"> <testsuite name="~dummy" errors="9" failures="77" tests="699" hostname="tbd" time="tbd" timestamp="tbd">
<testcase classname="global" name="./succeeding/Approx/simple" time="tbd"/> <testcase classname="global" name="./succeeding/Approx/simple" time="tbd"/>
<testcase classname="global" name="./succeeding/Approx/epsilon" time="tbd"/> <testcase classname="global" name="./succeeding/Approx/epsilon" time="tbd"/>
<testcase classname="global" name="./succeeding/Approx/float" time="tbd"/> <testcase classname="global" name="./succeeding/Approx/float" time="tbd"/>
@ -6136,6 +6176,12 @@ An error
<testcase classname="global" name="selftest/option parsers" time="tbd"/> <testcase classname="global" name="selftest/option parsers" time="tbd"/>
<testcase classname="global" name="selftest/tags" time="tbd"/> <testcase classname="global" name="selftest/tags" time="tbd"/>
<testcase classname="global" name="Long strings can be wrapped" time="tbd"/> <testcase classname="global" name="Long strings can be wrapped" time="tbd"/>
<testcase classname="global" name="Strings can be rendered with colour" time="tbd">
<system-out>
hello
hello
</system-out>
</testcase>
<testcase classname="global" name="./succeeding/Tricky/std::pair" time="tbd"/> <testcase classname="global" name="./succeeding/Tricky/std::pair" time="tbd"/>
<testcase classname="global" name="./inprogress/failing/Tricky/trailing expression" time="tbd"> <testcase classname="global" name="./inprogress/failing/Tricky/trailing expression" time="tbd">
<warning type="WARN"> <warning type="WARN">
@ -6168,12 +6214,12 @@ TrickyTests.cpp:106
<testcase classname="global" name="./succeeding/unimplemented static bool" time="tbd"/> <testcase classname="global" name="./succeeding/unimplemented static bool" time="tbd"/>
<testcase classname="global" name="./succeeding/SafeBool" time="tbd"/> <testcase classname="global" name="./succeeding/SafeBool" time="tbd"/>
<testcase classname="global" name="Assertions then sections" time="tbd"/> <testcase classname="global" name="Assertions then sections" time="tbd"/>
<testcase classname="global" name="Scenario: Do that thing with the thing" time="tbd"/>
<testcase classname="global" name="Scenario: Vector resizing affects size and capacity" time="tbd"/>
<testcase classname="global" name="Scenario: This is a really long scenario name to see how the list command deals with wrapping" time="tbd"/>
<testcase classname="global" name="Anonymous test case 1" time="tbd"/> <testcase classname="global" name="Anonymous test case 1" time="tbd"/>
<testcase classname="global" name="Test case with one argument" time="tbd"/> <testcase classname="global" name="Test case with one argument" time="tbd"/>
<testcase classname="global" name="Variadic macros" time="tbd"/> <testcase classname="global" name="Variadic macros" time="tbd"/>
<testcase classname="global" name="Scenario: Do that thing with the thing" time="tbd"/>
<testcase classname="global" name="Scenario: Vector resizing affects size and capacity" time="tbd"/>
<testcase classname="global" name="Scenario: This is a really long scenario name to see how the list command deals with wrapping" time="tbd"/>
</testsuite> </testsuite>
<system-out> <system-out>
Message from section one Message from section one
@ -6187,6 +6233,9 @@ Some information
Message from section one Message from section one
Message from section two Message from section two
Some information Some information
hello
hello
</system-out> </system-out>
<system-err> <system-err>
An error An error
@ -11262,12 +11311,32 @@ TestMain.cpp" line="468">
</Section> </Section>
<OverallResults successes="5" failures="0"/> <OverallResults successes="5" failures="0"/>
</Section> </Section>
<Section name="plain string">
<Section name="Indent first line differently">
TestMain.cpp" line="475">
<Original>
Catch::LineWrapper() .setRight( 10 ) .setIndent( 4 ) .setInitialIndent( 1 ) .wrap( testString ).toString() == &quot; one two\n three\n four&quot;
</Original>
<Expanded>
&quot; one two
three
four&quot;
==
&quot; one two
three
four&quot;
</Expanded>
</Expression>
<OverallResults successes="1" failures="0"/>
</Section>
<OverallResults successes="1" failures="0"/>
</Section>
<Section name="plain string"> <Section name="plain string">
<OverallResults successes="0" failures="0"/> <OverallResults successes="0" failures="0"/>
</Section> </Section>
<Section name="With newlines"> <Section name="With newlines">
<Section name="No wrapping"> <Section name="No wrapping">
TestMain.cpp" line="478"> TestMain.cpp" line="486">
<Original> <Original>
Catch::LineWrapper().setRight( 80 ).wrap( testString ).toString() == testString Catch::LineWrapper().setRight( 80 ).wrap( testString ).toString() == testString
</Original> </Original>
@ -11279,7 +11348,7 @@ three four&quot;
three four&quot; three four&quot;
</Expanded> </Expanded>
</Expression> </Expression>
TestMain.cpp" line="479"> TestMain.cpp" line="487">
<Original> <Original>
Catch::LineWrapper().setRight( 18 ).wrap( testString ).toString() == testString Catch::LineWrapper().setRight( 18 ).wrap( testString ).toString() == testString
</Original> </Original>
@ -11291,7 +11360,7 @@ three four&quot;
three four&quot; three four&quot;
</Expanded> </Expanded>
</Expression> </Expression>
TestMain.cpp" line="480"> TestMain.cpp" line="488">
<Original> <Original>
Catch::LineWrapper().setRight( 10 ).wrap( testString ).toString() == testString Catch::LineWrapper().setRight( 10 ).wrap( testString ).toString() == testString
</Original> </Original>
@ -11309,7 +11378,7 @@ three four&quot;
</Section> </Section>
<Section name="With newlines"> <Section name="With newlines">
<Section name="Trailing newline"> <Section name="Trailing newline">
TestMain.cpp" line="483"> TestMain.cpp" line="491">
<Original> <Original>
Catch::LineWrapper().setRight( 10 ).wrap( &quot;abcdef\n&quot; ).toString() == &quot;abcdef\n&quot; Catch::LineWrapper().setRight( 10 ).wrap( &quot;abcdef\n&quot; ).toString() == &quot;abcdef\n&quot;
</Original> </Original>
@ -11321,7 +11390,7 @@ TestMain.cpp" line="483">
&quot; &quot;
</Expanded> </Expanded>
</Expression> </Expression>
TestMain.cpp" line="484"> TestMain.cpp" line="492">
<Original> <Original>
Catch::LineWrapper().setRight( 6 ).wrap( &quot;abcdef&quot; ).toString() == &quot;abcdef&quot; Catch::LineWrapper().setRight( 6 ).wrap( &quot;abcdef&quot; ).toString() == &quot;abcdef&quot;
</Original> </Original>
@ -11329,7 +11398,7 @@ TestMain.cpp" line="484">
&quot;abcdef&quot; == &quot;abcdef&quot; &quot;abcdef&quot; == &quot;abcdef&quot;
</Expanded> </Expanded>
</Expression> </Expression>
TestMain.cpp" line="485"> TestMain.cpp" line="493">
<Original> <Original>
Catch::LineWrapper().setRight( 6 ).wrap( &quot;abcdef\n&quot; ).toString() == &quot;abcdef\n&quot; Catch::LineWrapper().setRight( 6 ).wrap( &quot;abcdef\n&quot; ).toString() == &quot;abcdef\n&quot;
</Original> </Original>
@ -11347,7 +11416,7 @@ TestMain.cpp" line="485">
</Section> </Section>
<Section name="With newlines"> <Section name="With newlines">
<Section name="Wrapped once"> <Section name="Wrapped once">
TestMain.cpp" line="488"> TestMain.cpp" line="496">
<Original> <Original>
Catch::LineWrapper().setRight( 9 ).wrap( testString ).toString() == &quot;one two\nthree\nfour&quot; Catch::LineWrapper().setRight( 9 ).wrap( testString ).toString() == &quot;one two\nthree\nfour&quot;
</Original> </Original>
@ -11361,7 +11430,7 @@ three
four&quot; four&quot;
</Expanded> </Expanded>
</Expression> </Expression>
TestMain.cpp" line="489"> TestMain.cpp" line="497">
<Original> <Original>
Catch::LineWrapper().setRight( 8 ).wrap( testString ).toString() == &quot;one two\nthree\nfour&quot; Catch::LineWrapper().setRight( 8 ).wrap( testString ).toString() == &quot;one two\nthree\nfour&quot;
</Original> </Original>
@ -11375,7 +11444,7 @@ three
four&quot; four&quot;
</Expanded> </Expanded>
</Expression> </Expression>
TestMain.cpp" line="490"> TestMain.cpp" line="498">
<Original> <Original>
Catch::LineWrapper().setRight( 7 ).wrap( testString ).toString() == &quot;one two\nthree\nfour&quot; Catch::LineWrapper().setRight( 7 ).wrap( testString ).toString() == &quot;one two\nthree\nfour&quot;
</Original> </Original>
@ -11395,7 +11464,7 @@ four&quot;
</Section> </Section>
<Section name="With newlines"> <Section name="With newlines">
<Section name="Wrapped twice"> <Section name="Wrapped twice">
TestMain.cpp" line="493"> TestMain.cpp" line="501">
<Original> <Original>
Catch::LineWrapper().setRight( 6 ).wrap( testString ).toString() == &quot;one\ntwo\nthree\nfour&quot; Catch::LineWrapper().setRight( 6 ).wrap( testString ).toString() == &quot;one\ntwo\nthree\nfour&quot;
</Original> </Original>
@ -11417,6 +11486,9 @@ four&quot;
</Section> </Section>
<OverallResult success="true"/> <OverallResult success="true"/>
</TestCase> </TestCase>
<TestCase name="Strings can be rendered with colour">
<OverallResult success="true"/>
</TestCase>
<TestCase name="./succeeding/Tricky/std::pair"> <TestCase name="./succeeding/Tricky/std::pair">
TrickyTests.cpp" line="37"> TrickyTests.cpp" line="37">
<Original> <Original>
@ -11705,6 +11777,18 @@ TrickyTests.cpp" line="335">
</Section> </Section>
<OverallResult success="true"/> <OverallResult success="true"/>
</TestCase> </TestCase>
<TestCase name="Anonymous test case 1">
<OverallResult success="true"/>
</TestCase>
<TestCase name="Test case with one argument">
<OverallResult success="true"/>
</TestCase>
<TestCase name="Variadic macros">
<Section name="Section with one argument">
<OverallResults successes="1" failures="0"/>
</Section>
<OverallResult success="true"/>
</TestCase>
<TestCase name="Scenario: Do that thing with the thing"> <TestCase name="Scenario: Do that thing with the thing">
<Section name=" Given: This stuff exists"> <Section name=" Given: This stuff exists">
<Section name=" When: I do this"> <Section name=" When: I do this">
@ -11911,23 +11995,20 @@ BDDTests.cpp" line="54">
<OverallResult success="true"/> <OverallResult success="true"/>
</TestCase> </TestCase>
<TestCase name="Scenario: This is a really long scenario name to see how the list command deals with wrapping"> <TestCase name="Scenario: This is a really long scenario name to see how the list command deals with wrapping">
<OverallResult success="true"/> <Section name=" Given: A section name that is so long that it cannot fit in a single console width">
</TestCase> <Section name=" When: The test headers are printed as part of the normal running of the scenario">
<TestCase name="Anonymous test case 1"> <Section name=" Then: The, deliberately very long and overly verbose (you see what I did there?) section names must wrap, along with an indent">
<OverallResult success="true"/> <OverallResults successes="1" failures="0"/>
</TestCase> </Section>
<TestCase name="Test case with one argument"> <OverallResults successes="1" failures="0"/>
<OverallResult success="true"/> </Section>
</TestCase>
<TestCase name="Variadic macros">
<Section name="Section with one argument">
<OverallResults successes="1" failures="0"/> <OverallResults successes="1" failures="0"/>
</Section> </Section>
<OverallResult success="true"/> <OverallResult success="true"/>
</TestCase> </TestCase>
<OverallResults successes="592" failures="105"/> <OverallResults successes="594" failures="105"/>
</Group> </Group>
<OverallResults successes="592" failures="105"/> <OverallResults successes="594" failures="105"/>
</Catch> </Catch>
[Started testing: CatchSelfTest] [Started testing: CatchSelfTest]
[Started group: '~dummy'] [Started group: '~dummy']
@ -13389,21 +13470,35 @@ TestMain.cpp:468: wrapper[3] == "four" succeeded for: "four" == "four"
[End of section: 'plain string' All 5 assertions passed] [End of section: 'plain string' All 5 assertions passed]
[Started section: 'plain string']
[Started section: 'Indent first line differently']
TestMain.cpp:475: Catch::LineWrapper() .setRight( 10 ) .setIndent( 4 ) .setInitialIndent( 1 ) .wrap( testString ).toString() == " one two\n three\n four" succeeded for:
" one two
three
four"
==
" one two
three
four"
[End of section: 'Indent first line differently' 1 assertion passed]
[End of section: 'plain string' 1 assertion passed]
[Started section: 'With newlines'] [Started section: 'With newlines']
[Started section: 'No wrapping'] [Started section: 'No wrapping']
TestMain.cpp:478: Catch::LineWrapper().setRight( 80 ).wrap( testString ).toString() == testString succeeded for: TestMain.cpp:486: Catch::LineWrapper().setRight( 80 ).wrap( testString ).toString() == testString succeeded for:
"one two "one two
three four" three four"
== ==
"one two "one two
three four" three four"
TestMain.cpp:479: Catch::LineWrapper().setRight( 18 ).wrap( testString ).toString() == testString succeeded for: TestMain.cpp:487: Catch::LineWrapper().setRight( 18 ).wrap( testString ).toString() == testString succeeded for:
"one two "one two
three four" three four"
== ==
"one two "one two
three four" three four"
TestMain.cpp:480: Catch::LineWrapper().setRight( 10 ).wrap( testString ).toString() == testString succeeded for: TestMain.cpp:488: Catch::LineWrapper().setRight( 10 ).wrap( testString ).toString() == testString succeeded for:
"one two "one two
three four" three four"
== ==
@ -13415,13 +13510,13 @@ three four"
[Started section: 'With newlines'] [Started section: 'With newlines']
[Started section: 'Trailing newline'] [Started section: 'Trailing newline']
TestMain.cpp:483: Catch::LineWrapper().setRight( 10 ).wrap( "abcdef\n" ).toString() == "abcdef\n" succeeded for: "abcdef TestMain.cpp:491: Catch::LineWrapper().setRight( 10 ).wrap( "abcdef\n" ).toString() == "abcdef\n" succeeded for: "abcdef
" "
== ==
"abcdef "abcdef
" "
TestMain.cpp:484: Catch::LineWrapper().setRight( 6 ).wrap( "abcdef" ).toString() == "abcdef" succeeded for: "abcdef" == "abcdef" TestMain.cpp:492: Catch::LineWrapper().setRight( 6 ).wrap( "abcdef" ).toString() == "abcdef" succeeded for: "abcdef" == "abcdef"
TestMain.cpp:485: Catch::LineWrapper().setRight( 6 ).wrap( "abcdef\n" ).toString() == "abcdef\n" succeeded for: "abcdef TestMain.cpp:493: Catch::LineWrapper().setRight( 6 ).wrap( "abcdef\n" ).toString() == "abcdef\n" succeeded for: "abcdef
" "
== ==
"abcdef "abcdef
@ -13432,7 +13527,7 @@ TestMain.cpp:485: Catch::LineWrapper().setRight( 6 ).wrap( "abcdef\n" ).toString
[Started section: 'With newlines'] [Started section: 'With newlines']
[Started section: 'Wrapped once'] [Started section: 'Wrapped once']
TestMain.cpp:488: Catch::LineWrapper().setRight( 9 ).wrap( testString ).toString() == "one two\nthree\nfour" succeeded for: TestMain.cpp:496: Catch::LineWrapper().setRight( 9 ).wrap( testString ).toString() == "one two\nthree\nfour" succeeded for:
"one two "one two
three three
four" four"
@ -13440,7 +13535,7 @@ four"
"one two "one two
three three
four" four"
TestMain.cpp:489: Catch::LineWrapper().setRight( 8 ).wrap( testString ).toString() == "one two\nthree\nfour" succeeded for: TestMain.cpp:497: Catch::LineWrapper().setRight( 8 ).wrap( testString ).toString() == "one two\nthree\nfour" succeeded for:
"one two "one two
three three
four" four"
@ -13448,7 +13543,7 @@ four"
"one two "one two
three three
four" four"
TestMain.cpp:490: Catch::LineWrapper().setRight( 7 ).wrap( testString ).toString() == "one two\nthree\nfour" succeeded for: TestMain.cpp:498: Catch::LineWrapper().setRight( 7 ).wrap( testString ).toString() == "one two\nthree\nfour" succeeded for:
"one two "one two
three three
four" four"
@ -13462,7 +13557,7 @@ four"
[Started section: 'With newlines'] [Started section: 'With newlines']
[Started section: 'Wrapped twice'] [Started section: 'Wrapped twice']
TestMain.cpp:493: Catch::LineWrapper().setRight( 6 ).wrap( testString ).toString() == "one\ntwo\nthree\nfour" succeeded for: TestMain.cpp:501: Catch::LineWrapper().setRight( 6 ).wrap( testString ).toString() == "one\ntwo\nthree\nfour" succeeded for:
"one "one
two two
three three
@ -13476,7 +13571,15 @@ four"
[End of section: 'With newlines' 1 assertion passed] [End of section: 'With newlines' 1 assertion passed]
[Finished: 'Long strings can be wrapped' All tests passed (31 assertions in 1 test case)] [Finished: 'Long strings can be wrapped' All tests passed (32 assertions in 1 test case)]
hello
hello
[Running: Strings can be rendered with colour]
No assertions in test case, 'Strings can be rendered with colour'
[Finished: 'Strings can be rendered with colour' 1 test case failed (1 assertion failed)]
[Running: ./succeeding/Tricky/std::pair] [Running: ./succeeding/Tricky/std::pair]
TrickyTests.cpp:37: (std::pair<int, int>( 1, 2 )) == aNicePair succeeded for: std::pair( 1, 2 ) == std::pair( 1, 2 ) TrickyTests.cpp:37: (std::pair<int, int>( 1, 2 )) == aNicePair succeeded for: std::pair( 1, 2 ) == std::pair( 1, 2 )
@ -13579,6 +13682,24 @@ TrickyTests.cpp:335: Catch::isTrue( true ) succeeded for: true
[Finished: 'Assertions then sections' All tests passed (6 assertions in 1 test case)] [Finished: 'Assertions then sections' All tests passed (6 assertions in 1 test case)]
[Running: Anonymous test case 1]
VariadicMacrosTests.cpp:14: succeeded
[with message: anonymous test case]
[Finished: 'Anonymous test case 1' All tests passed (1 assertion in 1 test case)]
[Running: Test case with one argument]
VariadicMacrosTests.cpp:19: succeeded
[with message: no assertions]
[Finished: 'Test case with one argument' All tests passed (1 assertion in 1 test case)]
[Running: Variadic macros]
[Started section: 'Section with one argument']
VariadicMacrosTests.cpp:26: succeeded
[with message: no assertions]
[End of section: 'Section with one argument' 1 assertion passed]
[Finished: 'Variadic macros' All tests passed (1 assertion in 1 test case)]
[Running: Scenario: Do that thing with the thing] [Running: Scenario: Do that thing with the thing]
[Started section: ' Given: This stuff exists'] [Started section: ' Given: This stuff exists']
[Started section: ' When: I do this'] [Started section: ' When: I do this']
@ -13660,32 +13781,22 @@ BDDTests.cpp:54: v.size() == 0 succeeded for: 0 == 0
[Finished: 'Scenario: Vector resizing affects size and capacity' All tests passed (15 assertions in 1 test case)] [Finished: 'Scenario: Vector resizing affects size and capacity' All tests passed (15 assertions in 1 test case)]
[Running: Scenario: This is a really long scenario name to see how the list command deals with wrapping] [Running: Scenario: This is a really long scenario name to see how the list command deals with wrapping]
[Started section: ' Given: A section name that is so long that it cannot fit in a single console width']
[Started section: ' When: The test headers are printed as part of the normal running of the scenario']
[Started section: ' Then: The, deliberately very long and overly verbose (you see what I did there?) section names must wrap, along with an indent']
BDDTests.cpp:67: succeeded
[with message: boo!]
[End of section: ' Then: The, deliberately very long and overly verbose (you see what I did there?) section names must wrap, along with an indent' 1 assertion passed]
No assertions in test case, 'Scenario: This is a really long scenario name to see how the list command deals with wrapping' [End of section: ' When: The test headers are printed as part of the normal running of the scenario' 1 assertion passed]
[Finished: 'Scenario: This is a really long scenario name to see how the list command deals with wrapping' 1 test case failed (1 assertion failed)] [End of section: ' Given: A section name that is so long that it cannot fit in a single console width' 1 assertion passed]
[Running: Anonymous test case 1] [Finished: 'Scenario: This is a really long scenario name to see how the list command deals with wrapping' All tests passed (1 assertion in 1 test case)]
VariadicMacrosTests.cpp:14: succeeded [End of group: '~dummy'. 48 of 109 test cases failed (105 of 699 assertions failed)]
[with message: anonymous test case]
[Finished: 'Anonymous test case 1' All tests passed (1 assertion in 1 test case)]
[Running: Test case with one argument]
VariadicMacrosTests.cpp:19: succeeded
[with message: no assertions]
[Finished: 'Test case with one argument' All tests passed (1 assertion in 1 test case)]
[Running: Variadic macros]
[Started section: 'Section with one argument']
VariadicMacrosTests.cpp:26: succeeded
[with message: no assertions]
[End of section: 'Section with one argument' 1 assertion passed]
[Finished: 'Variadic macros' All tests passed (1 assertion in 1 test case)]
[End of group: '~dummy'. 48 of 108 test cases failed (105 of 697 assertions failed)]
[Testing completed. 48 of 108 test cases failed (105 of 697 assertions failed)] [Testing completed. 48 of 109 test cases failed (105 of 699 assertions failed)]
[Started testing: CatchSelfTest] [Started testing: CatchSelfTest]
[Started group: '~dummy'] [Started group: '~dummy']

View File

@ -467,6 +467,14 @@ TEST_CASE( "Long strings can be wrapped", "[wrap]" ) {
CHECK( wrapper[2] == "three" ); CHECK( wrapper[2] == "three" );
CHECK( wrapper[3] == "four" ); CHECK( wrapper[3] == "four" );
} }
SECTION( "Indent first line differently", "" ) {
CHECK( Catch::LineWrapper()
.setRight( 10 )
.setIndent( 4 )
.setInitialIndent( 1 )
.wrap( testString ).toString() == " one two\n three\n four" );
}
} }
SECTION( "With newlines", "" ) { SECTION( "With newlines", "" ) {

View File

@ -343,6 +343,14 @@
<Filter <Filter
Name="TestCases" Name="TestCases"
> >
<File
RelativePath="..\..\..\SelfTest\ApproxTests.cpp"
>
</File>
<File
RelativePath="..\..\..\SelfTest\BDDTests.cpp"
>
</File>
<File <File
RelativePath="..\..\..\SelfTest\catch_self_test.cpp" RelativePath="..\..\..\SelfTest\catch_self_test.cpp"
> >
@ -375,6 +383,10 @@
RelativePath="..\..\..\SelfTest\TrickyTests.cpp" RelativePath="..\..\..\SelfTest\TrickyTests.cpp"
> >
</File> </File>
<File
RelativePath="..\..\..\SelfTest\VariadicMacrosTests.cpp"
>
</File>
</Filter> </Filter>
<File <File
RelativePath=".\ReadMe.txt" RelativePath=".\ReadMe.txt"

View File

@ -8,6 +8,7 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
266B06B816F3A60A004ED264 /* VariadicMacrosTests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266B06B616F3A60A004ED264 /* VariadicMacrosTests.cpp */; }; 266B06B816F3A60A004ED264 /* VariadicMacrosTests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266B06B616F3A60A004ED264 /* VariadicMacrosTests.cpp */; };
266ECD74170F3C620030D735 /* BDDTests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266ECD73170F3C620030D735 /* BDDTests.cpp */; };
26847E5F16BBADB40043B9C1 /* catch_message.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26847E5D16BBADB40043B9C1 /* catch_message.cpp */; }; 26847E5F16BBADB40043B9C1 /* catch_message.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26847E5D16BBADB40043B9C1 /* catch_message.cpp */; };
2694A1FD16A0000E004816E3 /* catch_line_wrap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2694A1FB16A0000E004816E3 /* catch_line_wrap.cpp */; }; 2694A1FD16A0000E004816E3 /* catch_line_wrap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2694A1FB16A0000E004816E3 /* catch_line_wrap.cpp */; };
4A45DA2416161EF9004F8D6B /* catch_console_colour.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A45DA2316161EF9004F8D6B /* catch_console_colour.cpp */; }; 4A45DA2416161EF9004F8D6B /* catch_console_colour.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A45DA2316161EF9004F8D6B /* catch_console_colour.cpp */; };
@ -29,7 +30,6 @@
4A6D0C3E149B3D9E00DB3EAA /* TestMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A6D0C35149B3D9E00DB3EAA /* TestMain.cpp */; }; 4A6D0C3E149B3D9E00DB3EAA /* TestMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A6D0C35149B3D9E00DB3EAA /* TestMain.cpp */; };
4A6D0C3F149B3D9E00DB3EAA /* TrickyTests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A6D0C36149B3D9E00DB3EAA /* TrickyTests.cpp */; }; 4A6D0C3F149B3D9E00DB3EAA /* TrickyTests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A6D0C36149B3D9E00DB3EAA /* TrickyTests.cpp */; };
4A8E4DD2160A352200194CBD /* catch_tags.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A8E4DD0160A352200194CBD /* catch_tags.cpp */; }; 4A8E4DD2160A352200194CBD /* catch_tags.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A8E4DD0160A352200194CBD /* catch_tags.cpp */; };
4AA7FF4315F3E89E009AD7F9 /* BDDTests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4AA7FF4115F3E89D009AD7F9 /* BDDTests.cpp */; };
4AB3D99D1616216500C9A0F8 /* catch_interfaces_testcase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4AB3D99C1616216500C9A0F8 /* catch_interfaces_testcase.cpp */; }; 4AB3D99D1616216500C9A0F8 /* catch_interfaces_testcase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4AB3D99C1616216500C9A0F8 /* catch_interfaces_testcase.cpp */; };
4AB3D9A01616219100C9A0F8 /* catch_interfaces_config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4AB3D99F1616219100C9A0F8 /* catch_interfaces_config.cpp */; }; 4AB3D9A01616219100C9A0F8 /* catch_interfaces_config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4AB3D99F1616219100C9A0F8 /* catch_interfaces_config.cpp */; };
4AB3D9A2161621B500C9A0F8 /* catch_interfaces_generators.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4AB3D9A1161621B500C9A0F8 /* catch_interfaces_generators.cpp */; }; 4AB3D9A2161621B500C9A0F8 /* catch_interfaces_generators.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4AB3D9A1161621B500C9A0F8 /* catch_interfaces_generators.cpp */; };
@ -56,6 +56,7 @@
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
266B06B616F3A60A004ED264 /* VariadicMacrosTests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VariadicMacrosTests.cpp; path = ../../../SelfTest/VariadicMacrosTests.cpp; sourceTree = "<group>"; }; 266B06B616F3A60A004ED264 /* VariadicMacrosTests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VariadicMacrosTests.cpp; path = ../../../SelfTest/VariadicMacrosTests.cpp; sourceTree = "<group>"; };
266ECD73170F3C620030D735 /* BDDTests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BDDTests.cpp; path = ../../../SelfTest/BDDTests.cpp; sourceTree = "<group>"; };
26847E5B16BBAB790043B9C1 /* catch_message.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = catch_message.h; sourceTree = "<group>"; }; 26847E5B16BBAB790043B9C1 /* catch_message.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = catch_message.h; sourceTree = "<group>"; };
26847E5C16BBACB60043B9C1 /* catch_message.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = catch_message.hpp; sourceTree = "<group>"; }; 26847E5C16BBACB60043B9C1 /* catch_message.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = catch_message.hpp; sourceTree = "<group>"; };
26847E5D16BBADB40043B9C1 /* catch_message.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = catch_message.cpp; path = ../../../SelfTest/SurrogateCpps/catch_message.cpp; sourceTree = "<group>"; }; 26847E5D16BBADB40043B9C1 /* catch_message.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = catch_message.cpp; path = ../../../SelfTest/SurrogateCpps/catch_message.cpp; sourceTree = "<group>"; };
@ -137,7 +138,6 @@
4A9D84B11558FC0400FBB209 /* catch_tostring.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = catch_tostring.hpp; sourceTree = "<group>"; }; 4A9D84B11558FC0400FBB209 /* catch_tostring.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = catch_tostring.hpp; sourceTree = "<group>"; };
4A9D84B315599AC900FBB209 /* catch_expressionresult_builder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = catch_expressionresult_builder.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 4A9D84B315599AC900FBB209 /* catch_expressionresult_builder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = catch_expressionresult_builder.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
4AA7B8B4165428BA003155F6 /* catch_version.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = catch_version.hpp; path = ../../../../include/internal/catch_version.hpp; sourceTree = "<group>"; }; 4AA7B8B4165428BA003155F6 /* catch_version.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = catch_version.hpp; path = ../../../../include/internal/catch_version.hpp; sourceTree = "<group>"; };
4AA7FF4115F3E89D009AD7F9 /* BDDTests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BDDTests.cpp; sourceTree = "<group>"; };
4AB1C73514F97BDA00F31DF7 /* catch_console_colour_impl.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; lineEnding = 0; path = catch_console_colour_impl.hpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; 4AB1C73514F97BDA00F31DF7 /* catch_console_colour_impl.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; lineEnding = 0; path = catch_console_colour_impl.hpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
4AB1C73714F97C1300F31DF7 /* catch_console_colour.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; lineEnding = 0; path = catch_console_colour.hpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; 4AB1C73714F97C1300F31DF7 /* catch_console_colour.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; lineEnding = 0; path = catch_console_colour.hpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
4AB3D99C1616216500C9A0F8 /* catch_interfaces_testcase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = catch_interfaces_testcase.cpp; path = ../../../SelfTest/SurrogateCpps/catch_interfaces_testcase.cpp; sourceTree = "<group>"; }; 4AB3D99C1616216500C9A0F8 /* catch_interfaces_testcase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = catch_interfaces_testcase.cpp; path = ../../../SelfTest/SurrogateCpps/catch_interfaces_testcase.cpp; sourceTree = "<group>"; };
@ -204,6 +204,7 @@
4A6D0C40149B3DAB00DB3EAA /* Tests */ = { 4A6D0C40149B3DAB00DB3EAA /* Tests */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
266ECD73170F3C620030D735 /* BDDTests.cpp */,
4A6D0C36149B3D9E00DB3EAA /* TrickyTests.cpp */, 4A6D0C36149B3D9E00DB3EAA /* TrickyTests.cpp */,
4A6D0C2D149B3D9E00DB3EAA /* ApproxTests.cpp */, 4A6D0C2D149B3D9E00DB3EAA /* ApproxTests.cpp */,
4A6D0C2F149B3D9E00DB3EAA /* ClassTests.cpp */, 4A6D0C2F149B3D9E00DB3EAA /* ClassTests.cpp */,
@ -212,7 +213,6 @@
4A6D0C32149B3D9E00DB3EAA /* GeneratorTests.cpp */, 4A6D0C32149B3D9E00DB3EAA /* GeneratorTests.cpp */,
4A6D0C33149B3D9E00DB3EAA /* MessageTests.cpp */, 4A6D0C33149B3D9E00DB3EAA /* MessageTests.cpp */,
4A6D0C34149B3D9E00DB3EAA /* MiscTests.cpp */, 4A6D0C34149B3D9E00DB3EAA /* MiscTests.cpp */,
4AA7FF4115F3E89D009AD7F9 /* BDDTests.cpp */,
266B06B616F3A60A004ED264 /* VariadicMacrosTests.cpp */, 266B06B616F3A60A004ED264 /* VariadicMacrosTests.cpp */,
); );
name = Tests; name = Tests;
@ -464,7 +464,6 @@
4A6D0C3E149B3D9E00DB3EAA /* TestMain.cpp in Sources */, 4A6D0C3E149B3D9E00DB3EAA /* TestMain.cpp in Sources */,
4A6D0C3F149B3D9E00DB3EAA /* TrickyTests.cpp in Sources */, 4A6D0C3F149B3D9E00DB3EAA /* TrickyTests.cpp in Sources */,
4AE1840B14EE4F230066340D /* catch_self_test.cpp in Sources */, 4AE1840B14EE4F230066340D /* catch_self_test.cpp in Sources */,
4AA7FF4315F3E89E009AD7F9 /* BDDTests.cpp in Sources */,
4A8E4DD2160A352200194CBD /* catch_tags.cpp in Sources */, 4A8E4DD2160A352200194CBD /* catch_tags.cpp in Sources */,
4AEE032016142F910071E950 /* catch_common.cpp in Sources */, 4AEE032016142F910071E950 /* catch_common.cpp in Sources */,
4AEE032316142FC70071E950 /* catch_debugger.cpp in Sources */, 4AEE032316142FC70071E950 /* catch_debugger.cpp in Sources */,
@ -485,6 +484,7 @@
2694A1FD16A0000E004816E3 /* catch_line_wrap.cpp in Sources */, 2694A1FD16A0000E004816E3 /* catch_line_wrap.cpp in Sources */,
26847E5F16BBADB40043B9C1 /* catch_message.cpp in Sources */, 26847E5F16BBADB40043B9C1 /* catch_message.cpp in Sources */,
266B06B816F3A60A004ED264 /* VariadicMacrosTests.cpp in Sources */, 266B06B816F3A60A004ED264 /* VariadicMacrosTests.cpp in Sources */,
266ECD74170F3C620030D735 /* BDDTests.cpp in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };