Blame examples/DumperPlugIn/DumperListener.h

Packit 8c9aa0
// //////////////////////////////////////////////////////////////////////////
Packit 8c9aa0
// Header file DumperListener.h for class DumperListener
Packit 8c9aa0
// (c)Copyright 2000, Baptiste Lepilleur.
Packit 8c9aa0
// Created: 2002/04/19
Packit 8c9aa0
// //////////////////////////////////////////////////////////////////////////
Packit 8c9aa0
#ifndef DUMPERLISTENER_H
Packit 8c9aa0
#define DUMPERLISTENER_H
Packit 8c9aa0
Packit 8c9aa0
#include <stack>
Packit 8c9aa0
#include <cppunit/TestListener.h>
Packit 8c9aa0
#include <cppunit/TestPath.h>
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
/// TestListener that prints a flatten or hierarchical view of the test tree.
Packit 8c9aa0
class DumperListener : public CPPUNIT_NS::TestListener
Packit 8c9aa0
{
Packit 8c9aa0
public:
Packit 8c9aa0
  DumperListener( bool flatten );
Packit 8c9aa0
Packit 8c9aa0
  virtual ~DumperListener();
Packit 8c9aa0
Packit 8c9aa0
  void startTest( CPPUNIT_NS::Test *test );
Packit 8c9aa0
Packit 8c9aa0
  void endTest( CPPUNIT_NS::Test *test );
Packit 8c9aa0
Packit 8c9aa0
  void startSuite( CPPUNIT_NS::Test *suite );
Packit 8c9aa0
Packit 8c9aa0
  void endSuite( CPPUNIT_NS::Test *suite );
Packit 8c9aa0
Packit 8c9aa0
  void endTestRun( CPPUNIT_NS::Test *test, 
Packit 8c9aa0
                   CPPUNIT_NS::TestResult *eventManager );
Packit 8c9aa0
Packit 8c9aa0
private:
Packit 8c9aa0
  /// Prevents the use of the copy constructor.
Packit 8c9aa0
  DumperListener( const DumperListener &other );
Packit 8c9aa0
Packit 8c9aa0
  /// Prevents the use of the copy operator.
Packit 8c9aa0
  void operator =( const DumperListener &other );
Packit 8c9aa0
Packit 8c9aa0
  void printPath( CPPUNIT_NS::Test *test, 
Packit 8c9aa0
                  bool isSuite );
Packit 8c9aa0
Packit 8c9aa0
  void printFlattenedPath( bool isSuite );
Packit 8c9aa0
Packit 8c9aa0
  void printIndentedPathChild();
Packit 8c9aa0
Packit 8c9aa0
  std::string makeIndentString( int indentLevel );
Packit 8c9aa0
Packit 8c9aa0
private:
Packit 8c9aa0
  bool m_flatten;
Packit 8c9aa0
  CPPUNIT_NS::TestPath m_path;
Packit 8c9aa0
  
Packit 8c9aa0
  int m_suiteCount;
Packit 8c9aa0
  int m_testCount;
Packit 8c9aa0
  int m_suiteWithTestCount;
Packit 8c9aa0
Packit 8c9aa0
  std::stack<bool> m_suiteHasTest;
Packit 8c9aa0
};
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
// Inlines methods for DumperListener:
Packit 8c9aa0
// -----------------------------------
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
#endif  // DUMPERLISTENER_H