mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-22 21:36:11 +01:00
Final refactoring to remove direct access to encapsulated ConfigData once in Config
This commit is contained in:
parent
43fe6c6e9e
commit
6b8837bd93
@ -33,7 +33,7 @@ namespace Catch {
|
||||
|
||||
Totals runTests() {
|
||||
|
||||
std::vector<TestCaseFilters> filterGroups = m_config->data().filters;
|
||||
std::vector<TestCaseFilters> filterGroups = m_config->filters();
|
||||
if( filterGroups.empty() ) {
|
||||
TestCaseFilters filterGroup( "" );
|
||||
filterGroups.push_back( filterGroup );
|
||||
@ -76,8 +76,8 @@ namespace Catch {
|
||||
|
||||
private:
|
||||
void openStream() {
|
||||
if( !m_config->data().stream.empty() )
|
||||
m_config->useStream( m_config->data().stream );
|
||||
if( !m_config->getStreamName().empty() )
|
||||
m_config->useStream( m_config->getStreamName() );
|
||||
|
||||
// Open output file, if specified
|
||||
if( !m_config->getFilename().empty() ) {
|
||||
@ -91,9 +91,9 @@ namespace Catch {
|
||||
}
|
||||
}
|
||||
void makeReporter() {
|
||||
std::string reporterName = m_config->data().reporter.empty()
|
||||
std::string reporterName = m_config->getReporterName().empty()
|
||||
? "console"
|
||||
: m_config->data().reporter;
|
||||
: m_config->getReporterName();
|
||||
|
||||
m_reporter = getRegistryHub().getReporterRegistry().create( reporterName, m_config.get() );
|
||||
if( !m_reporter ) {
|
||||
|
@ -88,7 +88,8 @@ namespace Catch {
|
||||
|
||||
Config( ConfigData const& data )
|
||||
: m_data( data ),
|
||||
m_os( std::cout.rdbuf() )
|
||||
m_os( std::cout.rdbuf() ),
|
||||
m_filters( data.filters )
|
||||
{}
|
||||
|
||||
virtual ~Config() {
|
||||
@ -135,6 +136,10 @@ namespace Catch {
|
||||
m_stream = stream;
|
||||
}
|
||||
|
||||
std::string getStreamName() const { return m_data.stream; }
|
||||
|
||||
std::string getReporterName() const { return m_data.reporter; }
|
||||
|
||||
void addTestSpec( std::string const& testSpec ) {
|
||||
TestCaseFilters filters( testSpec );
|
||||
filters.addFilter( TestCaseFilter( testSpec ) );
|
||||
@ -145,11 +150,8 @@ namespace Catch {
|
||||
return m_data.cutoff;
|
||||
}
|
||||
|
||||
ConfigData const& data() const {
|
||||
return m_data;
|
||||
}
|
||||
ConfigData& data() {
|
||||
return m_data;
|
||||
std::vector<TestCaseFilters> const& filters() const {
|
||||
return m_filters;
|
||||
}
|
||||
|
||||
// IConfig interface
|
||||
@ -162,9 +164,9 @@ namespace Catch {
|
||||
private:
|
||||
ConfigData m_data;
|
||||
|
||||
// !TBD Move these out of here
|
||||
Stream m_stream;
|
||||
mutable std::ostream m_os;
|
||||
std::vector<TestCaseFilters> m_filters;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user