mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-11-03 21:49:32 +01:00 
			
		
		
		
	Moved legacy_reporter_adapter files back into internal
This commit is contained in:
		@@ -29,8 +29,8 @@
 | 
			
		||||
#include "catch_version.hpp"
 | 
			
		||||
#include "catch_line_wrap.hpp"
 | 
			
		||||
#include "catch_message.hpp"
 | 
			
		||||
#include "catch_legacy_reporter_adapter.hpp"
 | 
			
		||||
 | 
			
		||||
#include "../reporters/catch_legacy_reporter_adapter.hpp"
 | 
			
		||||
#include "../reporters/catch_reporter_basic.hpp"
 | 
			
		||||
#include "../reporters/catch_reporter_xml.hpp"
 | 
			
		||||
#include "../reporters/catch_reporter_junit.hpp"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										40
									
								
								include/internal/catch_legacy_reporter_adapter.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								include/internal/catch_legacy_reporter_adapter.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  Created by Phil on 6th April 2013.
 | 
			
		||||
 *  Copyright 2013 Two Blue Cubes Ltd. All rights reserved.
 | 
			
		||||
 *
 | 
			
		||||
 *  Distributed under the Boost Software License, Version 1.0. (See accompanying
 | 
			
		||||
 *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | 
			
		||||
 */
 | 
			
		||||
#ifndef TWOBLUECUBES_CATCH_LEGACY_REPORTER_ADAPTER_H_INCLUDED
 | 
			
		||||
#define TWOBLUECUBES_CATCH_LEGACY_REPORTER_ADAPTER_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include "catch_interfaces_reporter.h"
 | 
			
		||||
 | 
			
		||||
namespace Catch
 | 
			
		||||
{
 | 
			
		||||
    class LegacyReporterAdapter : public SharedImpl<IStreamingReporter>
 | 
			
		||||
    {
 | 
			
		||||
    public:
 | 
			
		||||
        LegacyReporterAdapter( Ptr<IReporter> const& legacyReporter, ReporterConfig const& config );
 | 
			
		||||
        virtual ~LegacyReporterAdapter();
 | 
			
		||||
 | 
			
		||||
        virtual ReporterPreferences getPreferences() const;
 | 
			
		||||
        virtual void noMatchingTestCases( std::string const& );
 | 
			
		||||
        virtual void testRunStarting( TestRunInfo const& );
 | 
			
		||||
        virtual void testGroupStarting( GroupInfo const& groupInfo );
 | 
			
		||||
        virtual void testCaseStarting( TestCaseInfo const& testInfo );
 | 
			
		||||
        virtual void sectionStarting( SectionInfo const& sectionInfo );
 | 
			
		||||
        virtual void assertionStarting( AssertionInfo const& );
 | 
			
		||||
        virtual void assertionEnded( AssertionStats const& assertionStats );
 | 
			
		||||
        virtual void sectionEnded( SectionStats const& sectionStats );
 | 
			
		||||
        virtual void testCaseEnded( TestCaseStats const& testCaseStats );
 | 
			
		||||
        virtual void testGroupEnded( TestGroupStats const& testGroupStats );
 | 
			
		||||
        virtual void testRunEnded( TestRunStats const& testRunStats );
 | 
			
		||||
 | 
			
		||||
    private:
 | 
			
		||||
        Ptr<IReporter> m_legacyReporter;
 | 
			
		||||
        ReporterConfig m_config;
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif // TWOBLUECUBES_CATCH_LEGACY_REPORTER_ADAPTER_H_INCLUDED
 | 
			
		||||
							
								
								
									
										84
									
								
								include/internal/catch_legacy_reporter_adapter.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								include/internal/catch_legacy_reporter_adapter.hpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,84 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  Created by Phil on 6th April 2013.
 | 
			
		||||
 *  Copyright 2013 Two Blue Cubes Ltd. All rights reserved.
 | 
			
		||||
 *
 | 
			
		||||
 *  Distributed under the Boost Software License, Version 1.0. (See accompanying
 | 
			
		||||
 *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | 
			
		||||
 */
 | 
			
		||||
#ifndef TWOBLUECUBES_CATCH_LEGACY_REPORTER_ADAPTER_HPP_INCLUDED
 | 
			
		||||
#define TWOBLUECUBES_CATCH_LEGACY_REPORTER_ADAPTER_HPP_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include "catch_legacy_reporter_adapter.h"
 | 
			
		||||
 | 
			
		||||
namespace Catch
 | 
			
		||||
{
 | 
			
		||||
    LegacyReporterAdapter::LegacyReporterAdapter( Ptr<IReporter> const& legacyReporter, ReporterConfig const& config )
 | 
			
		||||
    :   m_legacyReporter( legacyReporter ),
 | 
			
		||||
        m_config( config )
 | 
			
		||||
    {}
 | 
			
		||||
    LegacyReporterAdapter::~LegacyReporterAdapter() {}
 | 
			
		||||
 | 
			
		||||
    ReporterPreferences LegacyReporterAdapter::getPreferences() const {
 | 
			
		||||
        ReporterPreferences prefs;
 | 
			
		||||
        prefs.shouldRedirectStdOut = m_legacyReporter->shouldRedirectStdout();
 | 
			
		||||
        return prefs;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void LegacyReporterAdapter::noMatchingTestCases( std::string const& ) {}
 | 
			
		||||
    void LegacyReporterAdapter::testRunStarting( TestRunInfo const& ) {
 | 
			
		||||
        m_legacyReporter->StartTesting();
 | 
			
		||||
    }
 | 
			
		||||
    void LegacyReporterAdapter::testGroupStarting( GroupInfo const& groupInfo ) {
 | 
			
		||||
        m_legacyReporter->StartGroup( groupInfo.name );
 | 
			
		||||
    }
 | 
			
		||||
    void LegacyReporterAdapter::testCaseStarting( TestCaseInfo const& testInfo ) {
 | 
			
		||||
        m_legacyReporter->StartTestCase( testInfo );
 | 
			
		||||
    }
 | 
			
		||||
    void LegacyReporterAdapter::sectionStarting( SectionInfo const& sectionInfo ) {
 | 
			
		||||
        m_legacyReporter->StartSection( sectionInfo.name, sectionInfo.description );
 | 
			
		||||
    }
 | 
			
		||||
    void LegacyReporterAdapter::assertionStarting( AssertionInfo const& ) {
 | 
			
		||||
        // Not on legacy interface
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void LegacyReporterAdapter::assertionEnded( AssertionStats const& assertionStats ) {
 | 
			
		||||
        if( assertionStats.assertionResult.getResultType() != ResultWas::Ok ) {
 | 
			
		||||
            for( std::vector<MessageInfo>::const_iterator it = assertionStats.infoMessages.begin(), itEnd = assertionStats.infoMessages.end();
 | 
			
		||||
                    it != itEnd;
 | 
			
		||||
                    ++it ) {
 | 
			
		||||
                if( it->type == ResultWas::Info ) {
 | 
			
		||||
                    ExpressionResultBuilder expressionBuilder( it->type );
 | 
			
		||||
                        expressionBuilder << it->message;
 | 
			
		||||
                    AssertionInfo info( it->macroName, it->lineInfo, "", ResultDisposition::Normal );
 | 
			
		||||
                    AssertionResult result = expressionBuilder.buildResult( info );
 | 
			
		||||
                    m_legacyReporter->Result( result );
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }    
 | 
			
		||||
        m_legacyReporter->Result( assertionStats.assertionResult );
 | 
			
		||||
    }
 | 
			
		||||
    void LegacyReporterAdapter::sectionEnded( SectionStats const& sectionStats ) {
 | 
			
		||||
        if( sectionStats.missingAssertions )
 | 
			
		||||
            m_legacyReporter->NoAssertionsInSection( sectionStats.sectionInfo.name );
 | 
			
		||||
        m_legacyReporter->EndSection( sectionStats.sectionInfo.name, sectionStats.assertions );
 | 
			
		||||
    }
 | 
			
		||||
    void LegacyReporterAdapter::testCaseEnded( TestCaseStats const& testCaseStats ) {
 | 
			
		||||
        if( testCaseStats.missingAssertions )
 | 
			
		||||
            m_legacyReporter->NoAssertionsInTestCase( testCaseStats.testInfo.name );
 | 
			
		||||
        m_legacyReporter->EndTestCase
 | 
			
		||||
            (   testCaseStats.testInfo,
 | 
			
		||||
                testCaseStats.totals,
 | 
			
		||||
                testCaseStats.stdOut,
 | 
			
		||||
                testCaseStats.stdErr );
 | 
			
		||||
    }
 | 
			
		||||
    void LegacyReporterAdapter::testGroupEnded( TestGroupStats const& testGroupStats ) {
 | 
			
		||||
        if( testGroupStats.aborting )
 | 
			
		||||
            m_legacyReporter->Aborted();
 | 
			
		||||
        m_legacyReporter->EndGroup( testGroupStats.groupInfo.name, testGroupStats.totals );
 | 
			
		||||
    }
 | 
			
		||||
    void LegacyReporterAdapter::testRunEnded( TestRunStats const& testRunStats ) {
 | 
			
		||||
        m_legacyReporter->EndTesting( testRunStats.totals );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif // TWOBLUECUBES_CATCH_LEGACY_REPORTER_ADAPTER_H_INCLUDED
 | 
			
		||||
		Reference in New Issue
	
	Block a user