MCPcopy Create free account
hub / github.com/InteractiveComputerGraphics/TriangleMeshDistance / visitChar

Method visitChar

tests/catch.hpp:11965–11997  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11963 }
11964
11965 void TestSpecParser::visitChar( char c ) {
11966 if( m_mode == None ) {
11967 switch( c ) {
11968 case ' ': return;
11969 case '~': m_exclusion = true; return;
11970 case '[': return startNewMode( Tag, ++m_pos );
11971 case '"': return startNewMode( QuotedName, ++m_pos );
11972 case '\\': return escape();
11973 default: startNewMode( Name, m_pos ); break;
11974 }
11975 }
11976 if( m_mode == Name ) {
11977 if( c == ',' ) {
11978 addPattern<TestSpec::NamePattern>();
11979 addFilter();
11980 }
11981 else if( c == '[' ) {
11982 if( subString() == "exclude:" )
11983 m_exclusion = true;
11984 else
11985 addPattern<TestSpec::NamePattern>();
11986 startNewMode( Tag, ++m_pos );
11987 }
11988 else if( c == '\\' )
11989 escape();
11990 }
11991 else if( m_mode == EscapedName )
11992 m_mode = Name;
11993 else if( m_mode == QuotedName && c == '"' )
11994 addPattern<TestSpec::NamePattern>();
11995 else if( m_mode == Tag && c == ']' )
11996 addPattern<TestSpec::TagPattern>();
11997 }
11998 void TestSpecParser::startNewMode( Mode mode, std::size_t start ) {
11999 m_mode = mode;
12000 m_start = start;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected