mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	Refactored last usages of old tag parser and removed all the, now redundant, tag parsing code
This commit is contained in:
		| @@ -25,7 +25,6 @@ | |||||||
| #include "catch_assertionresult.hpp" | #include "catch_assertionresult.hpp" | ||||||
| #include "catch_expressionresult_builder.hpp" | #include "catch_expressionresult_builder.hpp" | ||||||
| #include "catch_test_case_info.hpp" | #include "catch_test_case_info.hpp" | ||||||
| #include "catch_tags.hpp" |  | ||||||
| #include "catch_test_spec.hpp" | #include "catch_test_spec.hpp" | ||||||
| #include "catch_version.hpp" | #include "catch_version.hpp" | ||||||
| #include "catch_message.hpp" | #include "catch_message.hpp" | ||||||
|   | |||||||
| @@ -1,109 +0,0 @@ | |||||||
| /* |  | ||||||
|  *  Created by Phil on 2/12/2013. |  | ||||||
|  *  Copyright 2013 Two Blue Cubes Ltd. All rights reserved. |  | ||||||
|  * |  | ||||||
|  *  Distributed under the Boost Software License, Version 1.0. (See accompanying |  | ||||||
|  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |  | ||||||
|  */ |  | ||||||
| #ifndef TWOBLUECUBES_CATCH_TAGS_H_INCLUDED |  | ||||||
| #define TWOBLUECUBES_CATCH_TAGS_H_INCLUDED |  | ||||||
|  |  | ||||||
| #include "catch_common.h" |  | ||||||
|  |  | ||||||
| #include <string> |  | ||||||
| #include <set> |  | ||||||
| #include <map> |  | ||||||
| #include <vector> |  | ||||||
|  |  | ||||||
| #ifdef __clang__ |  | ||||||
| #pragma clang diagnostic ignored "-Wpadded" |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| namespace Catch { |  | ||||||
|     class TagParser { |  | ||||||
|     public: |  | ||||||
|         virtual ~TagParser(); |  | ||||||
|  |  | ||||||
|         void parse( std::string const& str ); |  | ||||||
|  |  | ||||||
|     protected: |  | ||||||
|         virtual void acceptTag( std::string const& tag ) = 0; |  | ||||||
|         virtual void acceptChar( char c ) = 0; |  | ||||||
|         virtual void endParse() {} |  | ||||||
|  |  | ||||||
|     private: |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
|     class TagExtracter : public TagParser { |  | ||||||
|     public: |  | ||||||
|  |  | ||||||
|         TagExtracter( std::set<std::string>& tags ); |  | ||||||
|         virtual ~TagExtracter(); |  | ||||||
|  |  | ||||||
|         void parse( std::string& description ); |  | ||||||
|  |  | ||||||
|     private: |  | ||||||
|         virtual void acceptTag( std::string const& tag ); |  | ||||||
|         virtual void acceptChar( char c ); |  | ||||||
|  |  | ||||||
|         TagExtracter& operator=(TagExtracter const&); |  | ||||||
|  |  | ||||||
|         std::set<std::string>& m_tags; |  | ||||||
|         std::string m_remainder; |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
|     class Tag { |  | ||||||
|     public: |  | ||||||
|         Tag(); |  | ||||||
|         Tag( std::string const& name, bool isNegated ); |  | ||||||
|         std::string getName() const; |  | ||||||
|         bool isNegated() const; |  | ||||||
|         bool operator ! () const; |  | ||||||
|  |  | ||||||
|     private: |  | ||||||
|         std::string m_name; |  | ||||||
|         bool m_isNegated; |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
|     class TagSet { |  | ||||||
|         typedef std::map<std::string, Tag> TagMap; |  | ||||||
|     public: |  | ||||||
|         void add( Tag const& tag ); |  | ||||||
|         bool empty() const; |  | ||||||
|         bool matches( std::set<std::string> const& tags ) const; |  | ||||||
|  |  | ||||||
|     private: |  | ||||||
|         TagMap m_tags; |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     class TagExpression { |  | ||||||
|     public: |  | ||||||
|         bool matches( std::set<std::string> const& tags ) const; |  | ||||||
|  |  | ||||||
|     private: |  | ||||||
|         friend class TagExpressionParser; |  | ||||||
|  |  | ||||||
|         std::vector<TagSet> m_tagSets; |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
|     class TagExpressionParser : public TagParser { |  | ||||||
|     public: |  | ||||||
|         TagExpressionParser( TagExpression& exp ); |  | ||||||
|         ~TagExpressionParser(); |  | ||||||
|  |  | ||||||
|     private: |  | ||||||
|         virtual void acceptTag( std::string const& tag ); |  | ||||||
|         virtual void acceptChar( char c ); |  | ||||||
|         virtual void endParse(); |  | ||||||
|  |  | ||||||
|         TagExpressionParser& operator=(TagExpressionParser const&); |  | ||||||
|  |  | ||||||
|         bool m_isNegated; |  | ||||||
|         TagSet m_currentTagSet; |  | ||||||
|         TagExpression& m_exp; |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
| } // end namespace Catch |  | ||||||
|  |  | ||||||
| #endif // TWOBLUECUBES_CATCH_TAGS_HPP_INCLUDED |  | ||||||
| @@ -1,137 +0,0 @@ | |||||||
| /* |  | ||||||
|  *  Created by Phil on 14/08/2012. |  | ||||||
|  *  Copyright 2012 Two Blue Cubes Ltd. All rights reserved. |  | ||||||
|  * |  | ||||||
|  *  Distributed under the Boost Software License, Version 1.0. (See accompanying |  | ||||||
|  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |  | ||||||
|  */ |  | ||||||
| #ifndef TWOBLUECUBES_CATCH_TAGS_HPP_INCLUDED |  | ||||||
| #define TWOBLUECUBES_CATCH_TAGS_HPP_INCLUDED |  | ||||||
|  |  | ||||||
| #include "catch_tags.h" |  | ||||||
|  |  | ||||||
| namespace Catch { |  | ||||||
|     TagParser::~TagParser() {} |  | ||||||
|  |  | ||||||
|     void TagParser::parse( std::string const& str ) { |  | ||||||
|         std::size_t pos = 0; |  | ||||||
|         while( pos < str.size() ) { |  | ||||||
|             char c = str[pos]; |  | ||||||
|             if( c == '[' ) { |  | ||||||
|                 std::size_t end = str.find_first_of( ']', pos ); |  | ||||||
|                 if( end != std::string::npos ) { |  | ||||||
|                     acceptTag( str.substr( pos+1, end-pos-1 ) ); |  | ||||||
|                     pos = end+1; |  | ||||||
|                 } |  | ||||||
|                 else { |  | ||||||
|                     acceptChar( c ); |  | ||||||
|                     pos++; |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|             else { |  | ||||||
|                 acceptChar( c ); |  | ||||||
|                 pos++; |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|         endParse(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     TagExtracter::TagExtracter( std::set<std::string>& tags ) |  | ||||||
|     :   m_tags( tags ) |  | ||||||
|     {} |  | ||||||
|  |  | ||||||
|     TagExtracter::~TagExtracter() {} |  | ||||||
|  |  | ||||||
|     void TagExtracter::parse( std::string& description ) { |  | ||||||
|         TagParser::parse( description ); |  | ||||||
|         description = m_remainder; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     void TagExtracter::acceptTag( std::string const& tag ) { |  | ||||||
|         m_tags.insert( toLower( tag ) ); |  | ||||||
|     } |  | ||||||
|     void TagExtracter::acceptChar( char c ) { |  | ||||||
|         m_remainder += c; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     Tag::Tag() : m_isNegated( false ) {} |  | ||||||
|     Tag::Tag( std::string const& name, bool isNegated ) |  | ||||||
|     :   m_name( name ), |  | ||||||
|         m_isNegated( isNegated ) |  | ||||||
|     {} |  | ||||||
|  |  | ||||||
|     std::string Tag::getName() const { |  | ||||||
|         return m_name; |  | ||||||
|     } |  | ||||||
|     bool Tag::isNegated() const { |  | ||||||
|         return m_isNegated; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     bool Tag::operator ! () const { |  | ||||||
|         return m_name.empty(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     void TagSet::add( Tag const& tag ) { |  | ||||||
|         m_tags.insert( std::make_pair( toLower( tag.getName() ), tag ) ); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     bool TagSet::empty() const { |  | ||||||
|         return m_tags.empty(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     bool TagSet::matches( std::set<std::string> const& tags ) const { |  | ||||||
|         for(    TagMap::const_iterator |  | ||||||
|                     it = m_tags.begin(), itEnd = m_tags.end(); |  | ||||||
|                 it != itEnd; |  | ||||||
|                 ++it ) { |  | ||||||
|             bool found = tags.find( it->first ) != tags.end(); |  | ||||||
|             if( found == it->second.isNegated() ) |  | ||||||
|                 return false; |  | ||||||
|         } |  | ||||||
|         return true; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     bool TagExpression::matches( std::set<std::string> const& tags ) const { |  | ||||||
|         for(    std::vector<TagSet>::const_iterator |  | ||||||
|                     it = m_tagSets.begin(), itEnd = m_tagSets.end(); |  | ||||||
|                 it != itEnd; |  | ||||||
|                 ++it ) |  | ||||||
|             if( it->matches( tags ) ) |  | ||||||
|                 return true; |  | ||||||
|         return false; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     TagExpressionParser::TagExpressionParser( TagExpression& exp ) |  | ||||||
|     :   m_isNegated( false ), |  | ||||||
|         m_exp( exp ) |  | ||||||
|     {} |  | ||||||
|  |  | ||||||
|     TagExpressionParser::~TagExpressionParser() {} |  | ||||||
|  |  | ||||||
|     void TagExpressionParser::acceptTag( std::string const& tag ) { |  | ||||||
|         m_currentTagSet.add( Tag( tag, m_isNegated ) ); |  | ||||||
|         m_isNegated = false; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     void TagExpressionParser::acceptChar( char c ) { |  | ||||||
|         switch( c ) { |  | ||||||
|             case '~': |  | ||||||
|                 m_isNegated = true; |  | ||||||
|                 break; |  | ||||||
|             case ',': |  | ||||||
|                 m_exp.m_tagSets.push_back( m_currentTagSet ); |  | ||||||
|                 m_currentTagSet = TagSet(); |  | ||||||
|                 break; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     void TagExpressionParser::endParse() { |  | ||||||
|         if( !m_currentTagSet.empty() ) |  | ||||||
|             m_exp.m_tagSets.push_back( m_currentTagSet ); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
| } // end namespace Catch |  | ||||||
|  |  | ||||||
| #endif // TWOBLUECUBES_CATCH_TAGS_HPP_INCLUDED |  | ||||||
| @@ -57,9 +57,6 @@ namespace Catch { | |||||||
|  |  | ||||||
|         bool isHidden() const; |         bool isHidden() const; | ||||||
|         bool throws() const; |         bool throws() const; | ||||||
|         bool hasTag( std::string const& tag ) const; |  | ||||||
|         bool matchesTags( std::string const& tagPattern ) const; |  | ||||||
|         std::set<std::string> const& getTags() const; |  | ||||||
|  |  | ||||||
|         void swap( TestCase& other ); |         void swap( TestCase& other ); | ||||||
|         bool operator == ( TestCase const& other ) const; |         bool operator == ( TestCase const& other ) const; | ||||||
|   | |||||||
| @@ -11,7 +11,6 @@ | |||||||
| #include "catch_test_spec.hpp" | #include "catch_test_spec.hpp" | ||||||
| #include "catch_test_case_info.h" | #include "catch_test_case_info.h" | ||||||
| #include "catch_interfaces_testcase.h" | #include "catch_interfaces_testcase.h" | ||||||
| #include "catch_tags.h" |  | ||||||
| #include "catch_common.h" | #include "catch_common.h" | ||||||
|  |  | ||||||
| namespace Catch { | namespace Catch { | ||||||
| @@ -25,6 +24,21 @@ namespace Catch { | |||||||
|     inline bool isReservedTag( std::string const& tag ) { |     inline bool isReservedTag( std::string const& tag ) { | ||||||
|         return !isSpecialTag( tag ) && tag.size() > 0 && !isalnum( tag[0] ); |         return !isSpecialTag( tag ) && tag.size() > 0 && !isalnum( tag[0] ); | ||||||
|     } |     } | ||||||
|  |     inline void enforceNotReservedTag( std::string const& tag, SourceLineInfo const& _lineInfo ) { | ||||||
|  |         if( isReservedTag( tag ) ) { | ||||||
|  |             { | ||||||
|  |                 Colour colourGuard( Colour::Red ); | ||||||
|  |                 std::cerr | ||||||
|  |                     << "Tag name [" << tag << "] not allowed.\n" | ||||||
|  |                     << "Tag names starting with non alpha-numeric characters are reserved\n"; | ||||||
|  |             } | ||||||
|  |             { | ||||||
|  |                 Colour colourGuard( Colour::FileName ); | ||||||
|  |                 std::cerr << _lineInfo << std::endl; | ||||||
|  |             } | ||||||
|  |             exit(1); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|     TestCase makeTestCase(  ITestCase* _testCase, |     TestCase makeTestCase(  ITestCase* _testCase, | ||||||
|                             std::string const& _className, |                             std::string const& _className, | ||||||
| @@ -32,33 +46,37 @@ namespace Catch { | |||||||
|                             std::string const& _descOrTags, |                             std::string const& _descOrTags, | ||||||
|                             SourceLineInfo const& _lineInfo ) |                             SourceLineInfo const& _lineInfo ) | ||||||
|     { |     { | ||||||
|         std::string desc = _descOrTags; |  | ||||||
|         bool isHidden( startsWith( _name, "./" ) ); // Legacy support |         bool isHidden( startsWith( _name, "./" ) ); // Legacy support | ||||||
|  |  | ||||||
|  |         // Parse out tags | ||||||
|         std::set<std::string> tags; |         std::set<std::string> tags; | ||||||
|         TagExtracter( tags ).parse( desc ); |         std::string desc, tag; | ||||||
|         for( std::set<std::string>::const_iterator it = tags.begin(), itEnd = tags.end(); |         bool inTag = false; | ||||||
|                 it != itEnd; |         for( std::size_t i = 0; i < _descOrTags.size(); ++i ) { | ||||||
|                 ++it ) |             char c = _descOrTags[i]; | ||||||
|             if( isReservedTag( *it ) ) { |             if( !inTag ) { | ||||||
|                 { |                 if( c == '[' ) | ||||||
|                     Colour colourGuard( Colour::Red ); |                     inTag = true; | ||||||
|                     std::cerr |                 else | ||||||
|                         << "Tag name [" << *it << "] not allowed.\n" |                     desc += c; | ||||||
|                         << "Tag names starting with non alpha-numeric characters are reserved\n"; |  | ||||||
|                 } |  | ||||||
|                 { |  | ||||||
|                     Colour colourGuard( Colour::FileName ); |  | ||||||
|                     std::cerr << _lineInfo << std::endl; |  | ||||||
|                 } |  | ||||||
|                 exit(1); |  | ||||||
|             } |             } | ||||||
|  |             else { | ||||||
|  |                 if( c == ']' ) { | ||||||
|  |                     enforceNotReservedTag( tag, _lineInfo ); | ||||||
|  |  | ||||||
|         if( tags.find( "hide" ) != tags.end() || tags.find( "." ) != tags.end() ) |                     inTag = false; | ||||||
|             isHidden = true; |                     if( tag == "hide" || tag == "." ) { | ||||||
|  |                         tags.insert( "hide" ); | ||||||
|         if( isHidden ) { |                         tags.insert( "." ); | ||||||
|             tags.insert( "hide" ); |                     } | ||||||
|             tags.insert( "." ); |                     else { | ||||||
|  |                         tags.insert( tag ); | ||||||
|  |                     } | ||||||
|  |                     tag.clear(); | ||||||
|  |                 } | ||||||
|  |                 else | ||||||
|  |                     tag += c; | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|         TestCaseInfo info( _name, _className, desc, tags, isHidden, _lineInfo ); |         TestCaseInfo info( _name, _className, desc, tags, isHidden, _lineInfo ); | ||||||
|         return TestCase( _testCase, info ); |         return TestCase( _testCase, info ); | ||||||
| @@ -122,18 +140,6 @@ namespace Catch { | |||||||
|         return TestCaseInfo::throws; |         return TestCaseInfo::throws; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     bool TestCase::hasTag( std::string const& tag ) const { |  | ||||||
|         return tags.find( toLower( tag ) ) != tags.end(); |  | ||||||
|     } |  | ||||||
|     bool TestCase::matchesTags( std::string const& tagPattern ) const { |  | ||||||
|         TagExpression exp; |  | ||||||
|         TagExpressionParser( exp ).parse( tagPattern ); |  | ||||||
|         return exp.matches( tags ); |  | ||||||
|     } |  | ||||||
|     std::set<std::string> const& TestCase::getTags() const { |  | ||||||
|         return tags; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     void TestCase::swap( TestCase& other ) { |     void TestCase::swap( TestCase& other ) { | ||||||
|         test.swap( other.test ); |         test.swap( other.test ); | ||||||
|         className.swap( other.className ); |         className.swap( other.className ); | ||||||
|   | |||||||
| @@ -1,2 +0,0 @@ | |||||||
| // This file is only here to verify (to the extent possible) the self sufficiency of the header |  | ||||||
| #include "catch_tags.h" |  | ||||||
| @@ -8,7 +8,6 @@ | |||||||
|  |  | ||||||
| /* Begin PBXBuildFile section */ | /* Begin PBXBuildFile section */ | ||||||
| 		2656C2211925E7330040DB02 /* catch_test_spec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2656C2201925E7330040DB02 /* catch_test_spec.cpp */; }; | 		2656C2211925E7330040DB02 /* catch_test_spec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2656C2201925E7330040DB02 /* catch_test_spec.cpp */; }; | ||||||
| 		2656C2251925EC870040DB02 /* catch_tags.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2656C2241925EC870040DB02 /* catch_tags.cpp */; }; |  | ||||||
| 		266B06B816F3A60A004ED264 /* VariadicMacrosTests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266B06B616F3A60A004ED264 /* VariadicMacrosTests.cpp */; }; | 		266B06B816F3A60A004ED264 /* VariadicMacrosTests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266B06B616F3A60A004ED264 /* VariadicMacrosTests.cpp */; }; | ||||||
| 		266ECD74170F3C620030D735 /* BDDTests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266ECD73170F3C620030D735 /* BDDTests.cpp */; }; | 		266ECD74170F3C620030D735 /* BDDTests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266ECD73170F3C620030D735 /* BDDTests.cpp */; }; | ||||||
| 		26847E5F16BBADB40043B9C1 /* catch_message.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26847E5D16BBADB40043B9C1 /* catch_message.cpp */; }; | 		26847E5F16BBADB40043B9C1 /* catch_message.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26847E5D16BBADB40043B9C1 /* catch_message.cpp */; }; | ||||||
| @@ -68,9 +67,6 @@ | |||||||
| 		263FD06117AF8DF200988A20 /* catch_timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = catch_timer.h; sourceTree = "<group>"; }; | 		263FD06117AF8DF200988A20 /* catch_timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = catch_timer.h; sourceTree = "<group>"; }; | ||||||
| 		2656C21F1925E5100040DB02 /* catch_test_spec_parser.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = catch_test_spec_parser.hpp; sourceTree = "<group>"; }; | 		2656C21F1925E5100040DB02 /* catch_test_spec_parser.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = catch_test_spec_parser.hpp; sourceTree = "<group>"; }; | ||||||
| 		2656C2201925E7330040DB02 /* catch_test_spec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = catch_test_spec.cpp; path = ../../../SelfTest/SurrogateCpps/catch_test_spec.cpp; sourceTree = "<group>"; }; | 		2656C2201925E7330040DB02 /* catch_test_spec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = catch_test_spec.cpp; path = ../../../SelfTest/SurrogateCpps/catch_test_spec.cpp; sourceTree = "<group>"; }; | ||||||
| 		2656C2221925EC6F0040DB02 /* catch_tags.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = catch_tags.h; sourceTree = "<group>"; }; |  | ||||||
| 		2656C2231925EC6F0040DB02 /* catch_tags.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = catch_tags.hpp; sourceTree = "<group>"; }; |  | ||||||
| 		2656C2241925EC870040DB02 /* catch_tags.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = catch_tags.cpp; path = ../../../SelfTest/SurrogateCpps/catch_tags.cpp; sourceTree = "<group>"; }; |  | ||||||
| 		266B06B616F3A60A004ED264 /* VariadicMacrosTests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VariadicMacrosTests.cpp; path = ../../../SelfTest/VariadicMacrosTests.cpp; sourceTree = "<group>"; }; | 		266B06B616F3A60A004ED264 /* VariadicMacrosTests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VariadicMacrosTests.cpp; path = ../../../SelfTest/VariadicMacrosTests.cpp; sourceTree = "<group>"; }; | ||||||
| 		266ECD73170F3C620030D735 /* BDDTests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BDDTests.cpp; path = ../../../SelfTest/BDDTests.cpp; sourceTree = "<group>"; }; | 		266ECD73170F3C620030D735 /* BDDTests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BDDTests.cpp; path = ../../../SelfTest/BDDTests.cpp; sourceTree = "<group>"; }; | ||||||
| 		266ECD8C1713614B0030D735 /* catch_legacy_reporter_adapter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = catch_legacy_reporter_adapter.hpp; sourceTree = "<group>"; }; | 		266ECD8C1713614B0030D735 /* catch_legacy_reporter_adapter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = catch_legacy_reporter_adapter.hpp; sourceTree = "<group>"; }; | ||||||
| @@ -304,7 +300,6 @@ | |||||||
| 		4A8E4DCF160A34E200194CBD /* SurrogateCpps */ = { | 		4A8E4DCF160A34E200194CBD /* SurrogateCpps */ = { | ||||||
| 			isa = PBXGroup; | 			isa = PBXGroup; | ||||||
| 			children = ( | 			children = ( | ||||||
| 				2656C2241925EC870040DB02 /* catch_tags.cpp */, |  | ||||||
| 				2656C2201925E7330040DB02 /* catch_test_spec.cpp */, | 				2656C2201925E7330040DB02 /* catch_test_spec.cpp */, | ||||||
| 				4AEE031F16142F910071E950 /* catch_common.cpp */, | 				4AEE031F16142F910071E950 /* catch_common.cpp */, | ||||||
| 				4AEE032216142FC70071E950 /* catch_debugger.cpp */, | 				4AEE032216142FC70071E950 /* catch_debugger.cpp */, | ||||||
| @@ -387,8 +382,6 @@ | |||||||
| 			isa = PBXGroup; | 			isa = PBXGroup; | ||||||
| 			children = ( | 			children = ( | ||||||
| 				261488FA184C81130041FBEB /* catch_test_spec.hpp */, | 				261488FA184C81130041FBEB /* catch_test_spec.hpp */, | ||||||
| 				2656C2221925EC6F0040DB02 /* catch_tags.h */, |  | ||||||
| 				2656C2231925EC6F0040DB02 /* catch_tags.hpp */, |  | ||||||
| 				2656C21F1925E5100040DB02 /* catch_test_spec_parser.hpp */, | 				2656C21F1925E5100040DB02 /* catch_test_spec_parser.hpp */, | ||||||
| 				4A6D0C4A149B3E3D00DB3EAA /* catch_config.hpp */, | 				4A6D0C4A149B3E3D00DB3EAA /* catch_config.hpp */, | ||||||
| 				4A6D0C51149B3E3D00DB3EAA /* catch_context.h */, | 				4A6D0C51149B3E3D00DB3EAA /* catch_context.h */, | ||||||
| @@ -521,7 +514,6 @@ | |||||||
| 				4A6D0C3F149B3D9E00DB3EAA /* TrickyTests.cpp in Sources */, | 				4A6D0C3F149B3D9E00DB3EAA /* TrickyTests.cpp in Sources */, | ||||||
| 				4AEE032016142F910071E950 /* catch_common.cpp in Sources */, | 				4AEE032016142F910071E950 /* catch_common.cpp in Sources */, | ||||||
| 				4AEE032316142FC70071E950 /* catch_debugger.cpp in Sources */, | 				4AEE032316142FC70071E950 /* catch_debugger.cpp in Sources */, | ||||||
| 				2656C2251925EC870040DB02 /* catch_tags.cpp in Sources */, |  | ||||||
| 				4AEE032516142FF10071E950 /* catch_stream.cpp in Sources */, | 				4AEE032516142FF10071E950 /* catch_stream.cpp in Sources */, | ||||||
| 				4AEE0328161434FD0071E950 /* catch_xmlwriter.cpp in Sources */, | 				4AEE0328161434FD0071E950 /* catch_xmlwriter.cpp in Sources */, | ||||||
| 				4A45DA2416161EF9004F8D6B /* catch_console_colour.cpp in Sources */, | 				4A45DA2416161EF9004F8D6B /* catch_console_colour.cpp in Sources */, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Phil Nash
					Phil Nash