Merged test case/ sections headers

This commit is contained in:
Phil Nash 2013-01-15 08:43:27 +00:00
parent 9beb6f24a1
commit 097282e00e
1 changed files with 35 additions and 8 deletions

View File

@ -247,23 +247,50 @@ namespace Catch {
} }
} }
void lazyPrintTestCaseInfo() { void lazyPrintTestCaseInfo() {
printHeader( "Test case", unusedTestCaseInfo->name ); if( !currentSectionInfo ) {
stream << getDashes() << "\n"
<< "Test case" << ": '" << unusedTestCaseInfo->name << "'\n";
stream << getDashes() << std::endl;
unusedTestCaseInfo.reset(); unusedTestCaseInfo.reset();
} }
}
void lazyPrintSectionInfo() { void lazyPrintSectionInfo() {
std::vector<ThreadedSectionInfo*> sections; std::vector<ThreadedSectionInfo*> sections;
for( ThreadedSectionInfo* section = unusedSectionInfo.get(); for( ThreadedSectionInfo* section = unusedSectionInfo.get();
section && !section->printed; section;
section = section->parent.get() ) section = section->parent.get() )
sections.push_back( section ); sections.push_back( section );
// Sections
if( !sections.empty() ) {
stream << getDashes() << "\n"
<< "Test case" << ": '" << unusedTestCaseInfo->name << "'\n"
<< getDashes() << "\n";
std::string firstInset;
std::string inset;
if( sections.size() > 1 ) {
firstInset = "Sections: ";
inset = " ";
}
else {
firstInset = "Section: ";
inset = " ";
}
typedef std::vector<ThreadedSectionInfo*>::const_reverse_iterator It; typedef std::vector<ThreadedSectionInfo*>::const_reverse_iterator It;
for( It it = sections.rbegin(), itEnd = sections.rend(); it != itEnd; ++it ) { for( It it = sections.rbegin(), itEnd = sections.rend(); it != itEnd; ++it ) {
printHeader( "Section", (*it)->name ); if( it == sections.rbegin() )
(*it)->printed = true; stream << firstInset;
else
stream << inset;
stream << (*it)->name << "\n";
// (*it)->printed = true; // !TBD remove flag?
} }
stream << getDashes() << std::endl;
unusedSectionInfo.reset(); unusedSectionInfo.reset();
} }
}
void printHeader( std::string const& _type, std::string const& _name ) { void printHeader( std::string const& _type, std::string const& _name ) {
stream << getDashes() << "\n" stream << getDashes() << "\n"