From 90b3946e9c0d25e9f63453d558485ca5bb1fa7ac Mon Sep 17 00:00:00 2001 From: Phil Nash Date: Fri, 17 Feb 2017 10:26:17 +0000 Subject: [PATCH] Add file/line to TestCase, Section and Failure elements in Xml Reporter --- include/reporters/catch_reporter_xml.hpp | 37 +- .../SelfTest/Baselines/xml.sw.approved.txt | 748 +++++++++--------- 2 files changed, 398 insertions(+), 387 deletions(-) diff --git a/include/reporters/catch_reporter_xml.hpp b/include/reporters/catch_reporter_xml.hpp index d0a6689d..f345ae27 100644 --- a/include/reporters/catch_reporter_xml.hpp +++ b/include/reporters/catch_reporter_xml.hpp @@ -36,6 +36,12 @@ namespace Catch { return std::string(); } + void writeSourceInfo( SourceLineInfo const& sourceInfo ) { + m_xml + .writeAttribute( "filename", sourceInfo.file ) + .writeAttribute( "line", sourceInfo.line ); + } + public: // StreamingReporterBase virtual void noMatchingTestCases( std::string const& s ) CATCH_OVERRIDE { @@ -65,6 +71,8 @@ namespace Catch { .writeAttribute( "description", testInfo.description ) .writeAttribute( "tags", testInfo.tagsAsString ); + writeSourceInfo( testInfo.lineInfo ); + if ( m_config->showDurations() == ShowDurations::Always ) m_testCaseTimer.start(); m_xml.ensureTagClosed(); @@ -76,6 +84,7 @@ namespace Catch { m_xml.startElement( "Section" ) .writeAttribute( "name", trim( sectionInfo.name ) ) .writeAttribute( "description", sectionInfo.description ); + writeSourceInfo( sectionInfo.lineInfo ); m_xml.ensureTagClosed(); } } @@ -108,9 +117,9 @@ namespace Catch { if( assertionResult.hasExpression() ) { m_xml.startElement( "Expression" ) .writeAttribute( "success", assertionResult.succeeded() ) - .writeAttribute( "type", assertionResult.getTestMacroName() ) - .writeAttribute( "filename", assertionResult.getSourceInfo().file ) - .writeAttribute( "line", assertionResult.getSourceInfo().line ); + .writeAttribute( "type", assertionResult.getTestMacroName() ); + + writeSourceInfo( assertionResult.getSourceInfo() ); m_xml.scopedElement( "Original" ) .writeText( assertionResult.getExpression() ); @@ -121,16 +130,16 @@ namespace Catch { // And... Print a result applicable to each result type. switch( assertionResult.getResultType() ) { case ResultWas::ThrewException: - m_xml.scopedElement( "Exception" ) - .writeAttribute( "filename", assertionResult.getSourceInfo().file ) - .writeAttribute( "line", assertionResult.getSourceInfo().line ) - .writeText( assertionResult.getMessage() ); + m_xml.startElement( "Exception" ); + writeSourceInfo( assertionResult.getSourceInfo() ); + m_xml.writeText( assertionResult.getMessage() ); + m_xml.endElement(); break; case ResultWas::FatalErrorCondition: - m_xml.scopedElement( "FatalErrorCondition" ) - .writeAttribute( "filename", assertionResult.getSourceInfo().file ) - .writeAttribute( "line", assertionResult.getSourceInfo().line ) - .writeText( assertionResult.getMessage() ); + m_xml.startElement( "FatalErrorCondition" ); + writeSourceInfo( assertionResult.getSourceInfo() ); + m_xml.writeText( assertionResult.getMessage() ); + m_xml.endElement(); break; case ResultWas::Info: m_xml.scopedElement( "Info" ) @@ -140,8 +149,10 @@ namespace Catch { // Warning will already have been written break; case ResultWas::ExplicitFailure: - m_xml.scopedElement( "Failure" ) - .writeText( assertionResult.getMessage() ); + m_xml.startElement( "Failure" ); + writeSourceInfo( assertionResult.getSourceInfo() ); + m_xml.writeText( assertionResult.getMessage() ); + m_xml.endElement(); break; default: break; diff --git a/projects/SelfTest/Baselines/xml.sw.approved.txt b/projects/SelfTest/Baselines/xml.sw.approved.txt index 9e72288c..3d8d6d30 100644 --- a/projects/SelfTest/Baselines/xml.sw.approved.txt +++ b/projects/SelfTest/Baselines/xml.sw.approved.txt @@ -1,10 +1,10 @@ - + - + throws_int(true), int @@ -39,7 +39,7 @@ - + 42 == f @@ -50,7 +50,7 @@ - + false != false @@ -117,7 +117,7 @@ - + false == false @@ -184,8 +184,8 @@ - -
+ +
is_true<true>::value == true @@ -204,7 +204,7 @@
-
+
is_true<false>::value == false @@ -223,7 +223,7 @@
-
+
!is_true<false>::value @@ -234,7 +234,7 @@
-
+
!!is_true<true>::value @@ -245,7 +245,7 @@
-
+
is_true<true>::value @@ -266,7 +266,7 @@
- + s == "world" @@ -277,7 +277,7 @@ - + s == "hello" @@ -288,7 +288,7 @@ - + m_a == 2 @@ -299,7 +299,7 @@ - + m_a == 1 @@ -310,19 +310,19 @@ - -
-
+ +
+
- + to infinity and beyond
- + &o1 == &o2 @@ -341,7 +341,7 @@ - + testStringForMatching(), AllOf( Catch::Contains( "string" ), Catch::Contains( "abc" ) ) @@ -352,10 +352,10 @@ - + - + i++ == 7 @@ -374,7 +374,7 @@ - + 1 == 1 @@ -396,10 +396,10 @@ - + - + testStringForMatching(), AnyOf( Catch::Contains( "string" ), Catch::Contains( "not there" ) ) @@ -418,7 +418,7 @@ - + divide( 22, 7 ) == Approx( 3.141 ).epsilon( 0.001 ) @@ -437,7 +437,7 @@ - + d != Approx( 1.231 ) @@ -456,7 +456,7 @@ - + 1.23f == Approx( 1.23f ) @@ -475,7 +475,7 @@ - + 1 == Approx( 1 ) @@ -494,7 +494,7 @@ - + 1.0f == Approx( 1 ) @@ -537,7 +537,7 @@ - + Catch::alwaysTrue() @@ -546,7 +546,7 @@ true -
+
Catch::alwaysTrue() @@ -555,7 +555,7 @@ true -
+
Catch::alwaysTrue() @@ -576,7 +576,7 @@ true -
+
Catch::alwaysTrue() @@ -585,7 +585,7 @@ true -
+
Catch::alwaysTrue() @@ -600,8 +600,8 @@
- -
+ +
tab == '\t' @@ -636,7 +636,7 @@
-
+
space == ' ' @@ -679,7 +679,7 @@
-
+
null_terminator == '\0' @@ -724,7 +724,7 @@
- + a @@ -743,7 +743,7 @@ - + m == &S::f @@ -756,7 +756,7 @@ - + 54 == 6*9 @@ -767,7 +767,7 @@ - + ( -1 > 2u ) @@ -818,7 +818,7 @@ - + i == 1 @@ -927,7 +927,7 @@ - + testStringForMatching(), Contains( "not there" ) @@ -938,7 +938,7 @@ - + throwCustom() @@ -952,7 +952,7 @@ - + throwCustom(), std::exception @@ -966,13 +966,13 @@ - + custom std exception - + t == 1u @@ -983,7 +983,7 @@ - + testStringForMatching(), EndsWith( "this" ) @@ -994,7 +994,7 @@ - + data.int_seven == 6 @@ -1101,7 +1101,7 @@ - + data.int_seven == 7 @@ -1160,7 +1160,7 @@ - + testStringForMatching(), Equals( "this string contains 'abc' as a substring" ) @@ -1171,7 +1171,7 @@ - + testStringForMatching(), Equals( "something else" ) @@ -1182,8 +1182,8 @@ - -
+ +
thisThrows(), "expected exception" @@ -1194,7 +1194,7 @@
-
+
thisThrows(), Equals( "expecteD Exception", Catch::CaseSensitive::No ) @@ -1205,7 +1205,7 @@
-
+
thisThrows(), StartsWith( "expected" ) @@ -1242,7 +1242,7 @@
- + thisThrows(), std::string @@ -1275,17 +1275,17 @@ - - + + This is a failure - - + + - + Factorial(0) == 1 @@ -1328,7 +1328,7 @@ - + i->first == i->second-1 @@ -1347,7 +1347,7 @@ - + multiply( i, 2 ) == i*2 @@ -2502,7 +2502,7 @@ - + d >= Approx( 1.22 ) @@ -2537,7 +2537,7 @@ - + this is a message @@ -2546,7 +2546,7 @@ - + this message should be logged @@ -2563,7 +2563,7 @@ - + a == 2 @@ -2604,7 +2604,7 @@ - + data.int_seven != 7 @@ -2647,7 +2647,7 @@ - + data.int_seven != 6 @@ -2738,7 +2738,7 @@ - + d <= Approx( 1.24 ) @@ -2773,9 +2773,9 @@ - -
-
+ +
+
Text( testString, TextAttributes().setWidth( 80 ) ).toString() == testString @@ -2800,8 +2800,8 @@
-
-
+
+
Text( testString, TextAttributes().setWidth( 17 ) ).toString() == "one two three\nfour" @@ -2866,8 +2866,8 @@ three four"
-
-
+
+
Text( testString, TextAttributes().setWidth( 9 ) ).toString() == "one two\nthree\nfour" @@ -2914,8 +2914,8 @@ four"
-
-
+
+
Text( testString, TextAttributes().setWidth( 6 ) ).toString() == "one\ntwo\nthree\nfour" @@ -2952,8 +2952,8 @@ four"
-
-
+
+
Text( "abcdef", TextAttributes().setWidth( 4 ) ).toString() == "abc-\ndef" @@ -3034,8 +3034,8 @@ ur"
-
-
+
+
text.size() == 4 @@ -3080,8 +3080,8 @@ ur"
-
-
+
+
text.toString() == " one two\n three\n four" @@ -3100,8 +3100,8 @@ ur"
-
-
+
+
Text( testString, TextAttributes().setWidth( 80 ) ).toString() == testString @@ -3142,8 +3142,8 @@ three four"
-
-
+
+
Text( "abcdef\n", TextAttributes().setWidth( 10 ) ).toString() == "abcdef" @@ -3184,8 +3184,8 @@ ef"
-
-
+
+
Text( testString, TextAttributes().setWidth( 9 ) ).toString() == "one two\nthree\nfour" @@ -3232,8 +3232,8 @@ four"
-
-
+
+
Text( testString, TextAttributes().setWidth( 6 ) ).toString() == "one\ntwo\nthree\nfour" @@ -3254,8 +3254,8 @@ four"
-
-
+
+
Text( testString, TextAttributes().setWidth( 80 ) ).toString() == testString @@ -3280,8 +3280,8 @@ four"
-
-
+
+
Text( testString, TextAttributes().setWidth( 11 ) ).toString() == "one,two\n(three)\n<here>" @@ -3300,8 +3300,8 @@ four"
-
-
+
+
Text( testString, TextAttributes().setWidth( 6 ) ).toString() == "one,\ntwo\n(thre-\ne)\n<here>" @@ -3366,7 +3366,7 @@ re>"
- + t.toString(), EndsWith( "... message truncated due to excessive size" ) @@ -4377,10 +4377,10 @@ re>" - + - + testStringForMatching(), Contains( "string" ) && Contains( "abc" ) && Contains( "substring" ) && Contains( "contains" ) @@ -4391,7 +4391,7 @@ re>" - + testStringForMatching(), Contains( "string" ) || Contains( "different" ) || Contains( "random" ) @@ -4410,7 +4410,7 @@ re>" - + testStringForMatching(), ( Contains( "string" ) || Contains( "different" ) ) && Contains( "substring" ) @@ -4421,7 +4421,7 @@ re>" - + testStringForMatching(), ( Contains( "string" ) || Contains( "different" ) ) && Contains( "random" ) @@ -4432,7 +4432,7 @@ re>" - + testStringForMatching(), !Contains( "different" ) @@ -4443,7 +4443,7 @@ re>" - + testStringForMatching(), !Contains( "substring" ) @@ -4454,7 +4454,7 @@ re>" - + thisThrows(), "expected exception" @@ -4473,19 +4473,19 @@ re>" - + This one ran - + custom exception - + thisFunctionNotImplemented( 7 ) @@ -4496,7 +4496,7 @@ re>" - + True @@ -4523,7 +4523,7 @@ re>" - + 0x == o @@ -4534,7 +4534,7 @@ re>" - + data.int_seven > 7 @@ -4689,7 +4689,7 @@ re>" - + data.int_seven < 8 @@ -4828,23 +4828,23 @@ re>" - -
- + +
+ Message from section one
-
- +
+ Message from section two
- -
+ +
spec.hasFilters() == false @@ -4871,7 +4871,7 @@ re>"
-
+
spec.hasFilters() == false @@ -4898,7 +4898,7 @@ re>"
-
+
spec.hasFilters() == false @@ -4925,7 +4925,7 @@ re>"
-
+
spec.hasFilters() == true @@ -4952,7 +4952,7 @@ re>"
-
+
spec.hasFilters() == true @@ -4979,7 +4979,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5014,7 +5014,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5065,7 +5065,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5116,7 +5116,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5167,7 +5167,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5194,7 +5194,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5221,7 +5221,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5248,7 +5248,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5291,7 +5291,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5334,7 +5334,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5369,7 +5369,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5404,7 +5404,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5439,7 +5439,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5474,7 +5474,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5517,7 +5517,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5552,7 +5552,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5587,7 +5587,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5630,7 +5630,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5673,7 +5673,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5716,7 +5716,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5759,7 +5759,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5802,7 +5802,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5845,7 +5845,7 @@ re>"
-
+
spec.hasFilters() == true @@ -5888,7 +5888,7 @@ re>"
-
+
spec.hasFilters() == false @@ -5931,7 +5931,7 @@ re>"
-
+
spec.hasFilters() == false @@ -5974,7 +5974,7 @@ re>"
-
+
spec.hasFilters() == true @@ -6019,7 +6019,7 @@ re>"
- + (std::pair<int, int>( 1, 2 )) == aNicePair @@ -6030,7 +6030,7 @@ re>" - + p == 0 @@ -6097,7 +6097,7 @@ re>" - + actual address of p: 0x @@ -6106,8 +6106,8 @@ re>" - -
+ +
parseIntoConfig( argv, config ) @@ -6150,8 +6150,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6180,8 +6180,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6210,8 +6210,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6240,8 +6240,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6262,8 +6262,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6284,8 +6284,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6322,8 +6322,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6344,8 +6344,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6366,8 +6366,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6388,8 +6388,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6410,8 +6410,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6432,8 +6432,8 @@ re>"
-
-
+
+
parseIntoConfigAndReturnError( argv, config ), Contains( "greater than zero" ) @@ -6447,8 +6447,8 @@ re>"
-
-
+
+
parseIntoConfigAndReturnError( argv, config ), Contains( "-x" ) @@ -6462,8 +6462,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6484,8 +6484,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6506,8 +6506,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6528,8 +6528,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6550,8 +6550,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6588,8 +6588,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6610,8 +6610,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6632,8 +6632,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6654,8 +6654,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ) @@ -6676,8 +6676,8 @@ re>"
-
-
+
+
parseIntoConfig( argv, config ), Contains( "colour mode must be one of" ) @@ -6692,7 +6692,7 @@ re>"
- + i < 10 @@ -6789,14 +6789,14 @@ re>" - + - + - -
+ +
before == 0 @@ -6805,8 +6805,8 @@ re>" 0 == 0 -
-
+
+
after > before @@ -6823,10 +6823,10 @@ re>"
- -
-
-
+ +
+
+
itDoesThis() @@ -6835,7 +6835,7 @@ re>" true -
+
itDoesThat() @@ -6854,10 +6854,10 @@ re>"
- -
-
-
+ +
+
+
@@ -6866,8 +6866,8 @@ re>"
- -
+ +
v.size() == 0 @@ -6876,8 +6876,8 @@ re>" 0 == 0 -
-
+
+
v.size() == 10 @@ -6894,8 +6894,8 @@ re>" 10 >= 10 -
-
+
+
v.size() == 5 @@ -6922,7 +6922,7 @@ re>"
-
+
v.size() == 0 @@ -6931,8 +6931,8 @@ re>" 0 == 0 -
-
+
+
v.capacity() >= 10 @@ -6957,7 +6957,7 @@ re>"
- + A string sent directly to stdout @@ -6967,7 +6967,7 @@ A string sent directly to stderr - + d == Approx( 1.23 ) @@ -7018,11 +7018,11 @@ A string sent directly to stderr - -
+ +
-
+
@@ -7032,7 +7032,7 @@ Message from section two - + testStringForMatching(), StartsWith( "string" ) @@ -7043,7 +7043,7 @@ Message from section two - + testStringForMatching(), Contains( "string" ) @@ -7078,7 +7078,7 @@ Message from section two - + hello @@ -7086,7 +7086,7 @@ hello - + s1 == s2 @@ -7104,8 +7104,8 @@ hello - -
+ +
what, Contains( "[@zzz]" ) @@ -7148,7 +7148,7 @@ hello
-
+
registry.add( "[no ampersat]", "", Catch::SourceLineInfo( "file", 3 ) ) @@ -7185,10 +7185,10 @@ hello
- + - + 0x == bit30and31 @@ -7199,7 +7199,7 @@ hello - + Text( "hi there" ).toString() == "hi there" @@ -7222,7 +7222,7 @@ there" - + 1 == 2 @@ -7233,10 +7233,10 @@ there" - + - + testCase.isOpen() @@ -7253,7 +7253,7 @@ there" true -
+
s1.isSuccessfullyCompleted() @@ -7304,7 +7304,7 @@ there" true -
+
s1.isComplete() @@ -7345,7 +7345,7 @@ there" false == false -
+
testCase2.isOpen() @@ -7406,7 +7406,7 @@ there" true -
+
s1.isComplete() @@ -7447,7 +7447,7 @@ there" false == false -
+
testCase2.isOpen() @@ -7516,7 +7516,7 @@ there" true -
+
s2.isOpen() == false @@ -7533,7 +7533,7 @@ there" false == false -
+
testCase2.isOpen() @@ -7566,7 +7566,7 @@ there" false == false -
+
ctx.completedCycle() @@ -7621,7 +7621,7 @@ there" true -
+
s2.isOpen() == false @@ -7638,7 +7638,7 @@ there" false == false -
+
testCase2.isOpen() @@ -7671,7 +7671,7 @@ there" false == false -
+
ctx.completedCycle() @@ -7758,7 +7758,7 @@ there" true -
+
s2.isOpen() @@ -7825,7 +7825,7 @@ there" true -
+
g1.isOpen() @@ -7858,7 +7858,7 @@ there" false == false -
+
s1.isComplete() == false @@ -7875,7 +7875,7 @@ there" false == false -
+
testCase2.isOpen() @@ -7962,7 +7962,7 @@ there" true -
+
g1.isOpen() @@ -7995,7 +7995,7 @@ there" false == false -
+
s2.isOpen() @@ -8028,7 +8028,7 @@ there" false == false -
+
testCase2.isOpen() @@ -8123,7 +8123,7 @@ there" true -
+
g1.isOpen() @@ -8156,7 +8156,7 @@ there" false == false -
+
s2.isOpen() @@ -8197,7 +8197,7 @@ there" false == false -
+
testCase2.isOpen() @@ -8342,13 +8342,13 @@ there"
- + 3.14 - + d == approx( 1.23 ) @@ -8415,13 +8415,13 @@ there" - -
+ +
- + thisThrows(), std::domain_error @@ -8448,13 +8448,13 @@ there" - + unexpected exception - + thisThrows() == 0 @@ -8468,7 +8468,7 @@ there" - + thisThrows() == 0 @@ -8482,7 +8482,7 @@ there" - + thisThrows() == 0 @@ -8496,8 +8496,8 @@ there" - -
+ +
unexpected exception @@ -8505,35 +8505,35 @@ there"
- + - + Uncomment the code in this test to check that it gives a sensible compiler error - + Uncomment the code in this test to check that it gives a sensible compiler error - + - + - + - + - -
+ +
encode( "normal string" ) == "normal string" @@ -8544,7 +8544,7 @@ there"
-
+
encode( "" ) == "" @@ -8555,7 +8555,7 @@ there"
-
+
encode( "smith & jones" ) == "smith &amp; jones" @@ -8566,7 +8566,7 @@ there"
-
+
encode( "smith < jones" ) == "smith &lt; jones" @@ -8577,7 +8577,7 @@ there"
-
+
encode( "smith > jones" ) == "smith > jones" @@ -8598,7 +8598,7 @@ there"
-
+
encode( stringWithQuotes ) == stringWithQuotes @@ -8621,7 +8621,7 @@ there"
-
+
encode( "[\x01]" ) == "[\\x01]" @@ -8632,7 +8632,7 @@ there"
-
+
encode( "[\x7F]" ) == "[\\x7F]" @@ -8645,7 +8645,7 @@ there"
- + x == 0 @@ -8656,7 +8656,7 @@ there" - + obj.prop != 0 @@ -8667,7 +8667,7 @@ there" - + flag @@ -8686,7 +8686,7 @@ there" - + flag @@ -8705,7 +8705,7 @@ there" - + flag @@ -8724,7 +8724,7 @@ there" - + flag @@ -8743,7 +8743,7 @@ there" - + unsigned_char_var == 1 @@ -8778,7 +8778,7 @@ there" - + long_var == unsigned_char_var @@ -8813,41 +8813,41 @@ there" - -
-
+ +
+
-
-
+
+
-
+
- + - + spanner - - + + Previous info should not be seen - + - -
+ +
b > a @@ -8860,7 +8860,7 @@ spanner
- + Testing if fib[0] (1) is even @@ -8945,9 +8945,9 @@ spanner - -
-
+ +
+
a == b @@ -8960,8 +8960,8 @@ spanner
-
-
+
+
a != b @@ -8974,8 +8974,8 @@ spanner
-
-
+
+
a < b @@ -8990,8 +8990,8 @@ spanner
- -
+ +
a != b @@ -9008,7 +9008,7 @@ spanner 2 != 1 -
+
a != b @@ -9023,7 +9023,7 @@ spanner
- + s == "7" @@ -9034,10 +9034,10 @@ spanner - + - + makeString( false ) != static_cast<char*>(0) @@ -9056,7 +9056,7 @@ spanner - + Catch::toString( pair ) == "{ { 42, \"Arthur\" }, { \"Ford\", 24 } }" @@ -9069,7 +9069,7 @@ spanner - + p == 0 @@ -9080,8 +9080,8 @@ spanner - -
+ +
a != b @@ -9100,7 +9100,7 @@ spanner
-
+
a != b @@ -9113,8 +9113,8 @@ spanner
- -
+ +
replaceInPlace( letters, "b", "z" ) @@ -9133,7 +9133,7 @@ spanner
-
+
replaceInPlace( letters, "c", "z" ) @@ -9152,7 +9152,7 @@ spanner
-
+
replaceInPlace( letters, "a", "z" ) @@ -9171,7 +9171,7 @@ spanner
-
+
replaceInPlace( letters, "g", "z" ) @@ -9190,7 +9190,7 @@ spanner
-
+
replaceInPlace( letters, letters, "replaced" ) @@ -9209,7 +9209,7 @@ spanner
-
+
!replaceInPlace( letters, "x", "z" ) @@ -9228,7 +9228,7 @@ spanner
-
+
replaceInPlace( s, "'", "|'" ) @@ -9249,10 +9249,10 @@ spanner
- + - + 3 @@ -9266,7 +9266,7 @@ spanner - + hi @@ -9283,7 +9283,7 @@ spanner - + Catch::toString(value) == "{ 34, \"xyzzy\" }" @@ -9294,7 +9294,7 @@ spanner - + Catch::toString( value ) == "{ 34, \"xyzzy\" }" @@ -9305,7 +9305,7 @@ spanner - + Catch::toString( pr ) == "{ { \"green\", 55 } }" @@ -9318,7 +9318,7 @@ spanner - + std::string( "first" ) == "second" @@ -9329,7 +9329,7 @@ spanner - + result == "\"wide load\"" @@ -9340,7 +9340,7 @@ spanner - + result == "\"wide load\"" @@ -9351,7 +9351,7 @@ spanner - + result == "\"wide load\"" @@ -9362,7 +9362,7 @@ spanner - + result == "\"wide load\"" @@ -9373,7 +9373,7 @@ spanner - + Catch::toString( item ) == "StringMaker<has_maker>" @@ -9386,7 +9386,7 @@ spanner - + Catch::toString( item ) == "toString( has_maker_and_toString )" @@ -9399,7 +9399,7 @@ spanner - + Catch::toString( item ) == "toString( has_toString )" @@ -9412,7 +9412,7 @@ spanner - + Catch::toString( v ) == "{ StringMaker<has_maker> }" @@ -9425,7 +9425,7 @@ spanner - + Catch::toString(e0) == "E2{0}" @@ -9444,7 +9444,7 @@ spanner - + Catch::toString(e0) == "0" @@ -9463,7 +9463,7 @@ spanner - + Catch::toString(vv) == "{ }" @@ -9490,7 +9490,7 @@ spanner - + Catch::toString(vv) == "{ }" @@ -9519,7 +9519,7 @@ spanner - + v.size() == 5 @@ -9536,7 +9536,7 @@ spanner 5 >= 5 -
+
v.size() == 10 @@ -9571,7 +9571,7 @@ spanner 5 >= 5 -
+
v.size() == 0 @@ -9588,7 +9588,7 @@ spanner 5 >= 5 -
+
v.capacity() == 0 @@ -9617,7 +9617,7 @@ spanner 5 >= 5 -
+
v.size() == 5 @@ -9652,7 +9652,7 @@ spanner 5 >= 5 -
+
v.size() == 5 @@ -9673,11 +9673,11 @@ spanner
- -
+ +
-
+