diff --git a/include/internal/catch_test_case_info.hpp b/include/internal/catch_test_case_info.hpp index 251b44c8..67f32b6e 100644 --- a/include/internal/catch_test_case_info.hpp +++ b/include/internal/catch_test_case_info.hpp @@ -30,7 +30,7 @@ namespace Catch { return TestCaseInfo::None; } inline bool isReservedTag( std::string const& tag ) { - return parseSpecialTag( tag ) == TestCaseInfo::None && tag.size() > 0 && !isalnum( tag[0] ); + return TestCaseInfo::None && tag.size() > 0 && !isalnum( tag[0] ); } inline void enforceNotReservedTag( std::string const& tag, SourceLineInfo const& _lineInfo ) { if( isReservedTag( tag ) ) { @@ -70,14 +70,15 @@ namespace Catch { } else { if( c == ']' ) { - enforceNotReservedTag( tag, _lineInfo ); - - inTag = false; - if( tag == "hide" || tag == "." ) + TestCaseInfo::SpecialProperties prop = parseSpecialTag( tag ); + if( prop == TestCaseInfo::IsHidden ) isHidden = true; - else - tags.insert( tag ); + else if( prop == TestCaseInfo::None ) + enforceNotReservedTag( tag, _lineInfo ); + + tags.insert( tag ); tag.clear(); + inTag = false; } else tag += c; diff --git a/projects/SelfTest/TestMain.cpp b/projects/SelfTest/TestMain.cpp index a377e597..b6fc8690 100644 --- a/projects/SelfTest/TestMain.cpp +++ b/projects/SelfTest/TestMain.cpp @@ -348,7 +348,7 @@ private: }; // !TBD: This will be folded into Text class -TEST_CASE( "Strings can be rendered with colour", "[colour][.]" ) { +TEST_CASE( "Strings can be rendered with colour", "[.colour]" ) { { ColourString cs( "hello" );