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 ); std::pair<int, int> aNicePair( 1, 2 );
// !TBD: would be nice if this could compile without the extra parentheses // !TBD: would be nice if this could compile without the extra parentheses
EXPECT( (std::pair<int, int>( 1, 2 )) == aNicePair ); 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; 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: private:
friend class ResultBuilder; friend class ResultBuilder;
@ -118,6 +126,7 @@ public:
{ {
return m_result.setRhs( ">=", toString( rhs ) ); return m_result.setRhs( ">=", toString( rhs ) );
} }
operator MutableResultInfo&() operator MutableResultInfo&()
{ {
return m_result; return m_result;