Fixed a == 1 || b == 2 case

This commit is contained in:
Phil Nash 2010-11-10 19:18:46 +00:00
parent e3bcf68f7a
commit 3d0fed768a
2 changed files with 19 additions and 1 deletions

View File

@ -24,11 +24,20 @@ namespace Catch
}
}
TEST_CASE( "succeeding/Tricky", "Some tricky to parse tests" )
TEST_CASE( "succeeding/Tricky/std::pair", "Parsing a std::pair" )
{
std::pair<int, int> aNicePair( 1, 2 );
// !TBD: would be nice if this could compile without the extra parentheses
EXPECT( (std::pair<int, int>( 1, 2 )) == aNicePair );
}
TEST_CASE( "succeeding/Tricky/complex lhs", "Where the LHS is not a simple value" )
{
int a = 1;
int b = 2;
// !TBD: This only captures part of the expression
EXPECT( a == 2 || b == 2 );
}

View File

@ -59,6 +59,14 @@ public:
{
m_message = message;
}
template<typename RhsT>
MutableResultInfo& operator ||( const RhsT& rhs )
{
// !TBD: set message to say we haven't captured all parts
return *this;
}
private:
friend class ResultBuilder;
@ -118,6 +126,7 @@ public:
{
return m_result.setRhs( ">=", toString( rhs ) );
}
operator MutableResultInfo&()
{
return m_result;