mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	Made macroName and capturedExpression StringRefs
This commit is contained in:
		| @@ -14,7 +14,7 @@ namespace Catch { | ||||
|     bool DecomposedExpression::isBinaryExpression() const { | ||||
|         return false; | ||||
|     } | ||||
|      | ||||
|  | ||||
|     void AssertionResultData::negate( bool parenthesize ) { | ||||
|         negated = !negated; | ||||
|         parenthesized = parenthesize; | ||||
| @@ -68,16 +68,16 @@ namespace Catch { | ||||
|  | ||||
|     std::string AssertionResult::getExpression() const { | ||||
|         if (isFalseTest(m_info.resultDisposition)) | ||||
|             return '!' + std::string(m_info.capturedExpression); | ||||
|             return '!' + std::string(m_info.capturedExpression.c_str()); | ||||
|         else | ||||
|             return std::string(m_info.capturedExpression); | ||||
|             return std::string(m_info.capturedExpression.c_str()); | ||||
|     } | ||||
|  | ||||
|     std::string AssertionResult::getExpressionInMacro() const { | ||||
|         if( m_info.macroName[0] == 0 ) | ||||
|             return std::string(m_info.capturedExpression); | ||||
|             return std::string(m_info.capturedExpression.c_str()); | ||||
|         else | ||||
|             return std::string(m_info.macroName) + "( " + m_info.capturedExpression + " )"; | ||||
|             return std::string(m_info.macroName.c_str()) + "( " + m_info.capturedExpression.c_str() + " )"; | ||||
|     } | ||||
|  | ||||
|     bool AssertionResult::hasExpandedExpression() const { | ||||
| @@ -96,7 +96,7 @@ namespace Catch { | ||||
|     } | ||||
|  | ||||
|     std::string AssertionResult::getTestMacroName() const { | ||||
|         return m_info.macroName; | ||||
|         return m_info.macroName.c_str(); | ||||
|     } | ||||
|  | ||||
|     void AssertionResult::discardDecomposedExpression() const { | ||||
|   | ||||
| @@ -11,6 +11,7 @@ | ||||
| #include <string> | ||||
| #include "catch_result_type.h" | ||||
| #include "catch_common.h" | ||||
| #include "catch_stringref.h" | ||||
|  | ||||
| namespace Catch { | ||||
|  | ||||
| @@ -39,9 +40,9 @@ namespace Catch { | ||||
|  | ||||
|     struct AssertionInfo | ||||
|     { | ||||
|         char const * macroName; | ||||
|         StringRef macroName; | ||||
|         SourceLineInfo lineInfo; | ||||
|         char const * capturedExpression; | ||||
|         StringRef capturedExpression; | ||||
|         ResultDisposition::Flags resultDisposition; | ||||
|  | ||||
|         AssertionInfo() = delete; | ||||
|   | ||||
| @@ -40,7 +40,7 @@ namespace Catch { | ||||
|         if( assertionResult.hasMessage() ) { | ||||
|             // Copy message into messages list. | ||||
|             // !TBD This should have been done earlier, somewhere | ||||
|             MessageBuilder builder( assertionResult.getTestMacroName(), assertionResult.getSourceInfo(), assertionResult.getResultType() ); | ||||
|             MessageBuilder builder( assertionResult.getTestMacroName().c_str(), assertionResult.getSourceInfo(), assertionResult.getResultType() ); | ||||
|             builder << assertionResult.getMessage(); | ||||
|             builder.m_info.message = builder.m_stream.str(); | ||||
|  | ||||
|   | ||||
| @@ -30,9 +30,9 @@ namespace Catch { | ||||
|     } | ||||
|  | ||||
|  | ||||
|     ResultBuilder::ResultBuilder(   char const* macroName, | ||||
|     ResultBuilder::ResultBuilder(   StringRef macroName, | ||||
|                                     SourceLineInfo const& lineInfo, | ||||
|                                     char const* capturedExpression, | ||||
|                                     StringRef capturedExpression, | ||||
|                                     ResultDisposition::Flags resultDisposition ) | ||||
|     :   m_assertionInfo{ macroName, lineInfo, capturedExpression, resultDisposition } | ||||
|     { | ||||
| @@ -99,7 +99,7 @@ namespace Catch { | ||||
|         assert( !isFalseTest( m_assertionInfo.resultDisposition ) ); | ||||
|         AssertionResultData data = m_data; | ||||
|         data.resultType = ResultWas::Ok; | ||||
|         data.reconstructedExpression = m_assertionInfo.capturedExpression; | ||||
|         data.reconstructedExpression = m_assertionInfo.capturedExpression.c_str(); | ||||
|  | ||||
|         std::string actualMessage = Catch::translateActiveException(); | ||||
|         if( !matcher.match( actualMessage ) ) { | ||||
| @@ -166,7 +166,7 @@ namespace Catch { | ||||
|     } | ||||
|  | ||||
|     void ResultBuilder::reconstructExpression( std::string& dest ) const { | ||||
|         dest = m_assertionInfo.capturedExpression; | ||||
|         dest = m_assertionInfo.capturedExpression.c_str(); | ||||
|     } | ||||
|  | ||||
|     void ResultBuilder::setExceptionGuard() { | ||||
|   | ||||
| @@ -31,9 +31,9 @@ namespace Catch { | ||||
|  | ||||
|     class ResultBuilder : public DecomposedExpression { | ||||
|     public: | ||||
|         ResultBuilder(  char const* macroName, | ||||
|         ResultBuilder(  StringRef macroName, | ||||
|                         SourceLineInfo const& lineInfo, | ||||
|                         char const* capturedExpression, | ||||
|                         StringRef capturedExpression, | ||||
|                         ResultDisposition::Flags resultDisposition); | ||||
|         ~ResultBuilder(); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Phil Nash
					Phil Nash