mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-22 13:26:10 +01:00
Fixed bugs in escape char handling in test names
1. If escape char is first char, sets start of range 2. Multiple escape chars are handled (offsets chars to remove)
This commit is contained in:
parent
5121b5b058
commit
b524fa7cd8
@ -87,6 +87,8 @@ namespace Catch {
|
|||||||
m_start = start;
|
m_start = start;
|
||||||
}
|
}
|
||||||
void escape() {
|
void escape() {
|
||||||
|
if( m_mode == None )
|
||||||
|
m_start = m_pos;
|
||||||
m_mode = EscapedName;
|
m_mode = EscapedName;
|
||||||
m_escapeChars.push_back( m_pos );
|
m_escapeChars.push_back( m_pos );
|
||||||
}
|
}
|
||||||
@ -95,7 +97,7 @@ namespace Catch {
|
|||||||
void addPattern() {
|
void addPattern() {
|
||||||
std::string token = subString();
|
std::string token = subString();
|
||||||
for( size_t i = 0; i < m_escapeChars.size(); ++i )
|
for( size_t i = 0; i < m_escapeChars.size(); ++i )
|
||||||
token = token.substr( 0, m_escapeChars[i] ) + token.substr( m_escapeChars[i]+1 );
|
token = token.substr( 0, m_escapeChars[i]-i ) + token.substr( m_escapeChars[i]+1-i );
|
||||||
m_escapeChars.clear();
|
m_escapeChars.clear();
|
||||||
if( startsWith( token, "exclude:" ) ) {
|
if( startsWith( token, "exclude:" ) ) {
|
||||||
m_exclusion = true;
|
m_exclusion = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user