Exception message assertions now work with matchers

This commit is contained in:
Phil Nash
2015-07-15 23:02:25 +01:00
parent 8342ae8dfb
commit 72868920bb
13 changed files with 116 additions and 92 deletions

View File

@@ -154,20 +154,21 @@ TEST_CASE( "NotImplemented exception", "" )
}
TEST_CASE( "Exception messages can be tested for", "" ) {
using namespace Catch::Matchers;
SECTION( "exact match" )
REQUIRE_THROWS_WITH( thisThrows(), "expected exception" );
SECTION( "different case" )
REQUIRE_THROWS_WITH( thisThrows(), "expecteD Exception" );
REQUIRE_THROWS_WITH( thisThrows(), Equals( "expecteD Exception", Catch::CaseSensitive::No ) );
SECTION( "wildcarded" ) {
REQUIRE_THROWS_WITH( thisThrows(), "expected*" );
REQUIRE_THROWS_WITH( thisThrows(), "*exception" );
REQUIRE_THROWS_WITH( thisThrows(), "*except*" );
REQUIRE_THROWS_WITH( thisThrows(), "*exCept*" );
REQUIRE_THROWS_WITH( thisThrows(), StartsWith( "expected" ) );
REQUIRE_THROWS_WITH( thisThrows(), EndsWith( "exception" ) );
REQUIRE_THROWS_WITH( thisThrows(), Contains( "except" ) );
REQUIRE_THROWS_WITH( thisThrows(), Contains( "exCept", Catch::CaseSensitive::No ) );
}
}
TEST_CASE( "Mismatching exception messages failing the test", "[.][failing]" ) {
REQUIRE_THROWS_WITH( thisThrows(), "expected exception" );
REQUIRE_THROWS_WITH( thisThrows(), "expected exception" );
REQUIRE_THROWS_WITH( thisThrows(), "should fail" );
REQUIRE_THROWS_WITH( thisThrows(), "expected exception" );
}