1 #ifndef CPPUNIT_TEXTOUTPUTTER_H
2 #define CPPUNIT_TEXTOUTPUTTER_H
3 
4 #include <cppunit/Portability.h>
5 #include <cppunit/Outputter.h>
6 #include <cppunit/portability/Stream.h>
7 
8 CPPUNIT_NS_BEGIN
9 
10 
11 class Exception;
12 class SourceLine;
13 class TestResultCollector;
14 class TestFailure;
15 
16 
17 /*! \brief Prints a TestResultCollector to a text stream.
18  * \ingroup WritingTestResult
19  */
20 class CPPUNIT_API TextOutputter : public Outputter
21 {
22 public:
23   TextOutputter( TestResultCollector *result,
24                  OStream &stream );
25 
26   /// Destructor.
27   virtual ~TextOutputter();
28 
29   void write();
30   virtual void printFailures();
31   virtual void printHeader();
32 
33   virtual void printFailure( TestFailure *failure,
34                              int failureNumber );
35   virtual void printFailureListMark( int failureNumber );
36   virtual void printFailureTestName( TestFailure *failure );
37   virtual void printFailureType( TestFailure *failure );
38   virtual void printFailureLocation( SourceLine sourceLine );
39   virtual void printFailureDetail( Exception *thrownException );
40   virtual void printFailureWarning();
41   virtual void printStatistics();
42 
43 protected:
44   TestResultCollector *m_result;
45   OStream &m_stream;
46 
47 private:
48   /// Prevents the use of the copy constructor.
49   TextOutputter( const TextOutputter &copy );
50 
51   /// Prevents the use of the copy operator.
52   void operator =( const TextOutputter &copy );
53 };
54 
55 
56 
57 CPPUNIT_NS_END
58 
59 #endif  // CPPUNIT_TEXTOUTPUTTER_H
60