Code

Export. add emf text rotation (Bug 681262)
[inkscape.git] / cxxtest / cxxtest / TeeListener.h
1 #ifndef __cxxtest__TeeListener_h__
2 #define __cxxtest__TeeListener_h__
4 //
5 // A TeeListener notifies two "reular" TestListeners
6 //
8 #include <cxxtest/TestListener.h>
9 #include <cxxtest/TestListener.h>
11 namespace CxxTest
12 {
13     class TeeListener : public TestListener
14     {
15     public:
16         TeeListener()
17         {
18             setFirst( _dummy );
19             setSecond( _dummy );
20         }
22         virtual ~TeeListener()
23         {
24         }
26         void setFirst( TestListener &first )
27         {
28             _first = &first;
29         }
31         void setSecond( TestListener &second )
32         {
33             _second = &second;
34         }
36         void enterWorld( const WorldDescription &d )
37         {
38             _first->enterWorld( d );
39             _second->enterWorld( d );
40         }
42         void enterSuite( const SuiteDescription &d )
43         {
44             _first->enterSuite( d );
45             _second->enterSuite( d );
46         }
47         
48         void enterTest( const TestDescription &d )
49         {
50             _first->enterTest( d );
51             _second->enterTest( d );
52         }
53         
54         void trace( const char *file, unsigned line, const char *expression )
55         {
56             _first->trace( file, line, expression );
57             _second->trace( file, line, expression );
58         }
59         
60         void warning( const char *file, unsigned line, const char *expression )
61         {
62             _first->warning( file, line, expression );
63             _second->warning( file, line, expression );
64         }
65         
66         void failedTest( const char *file, unsigned line, const char *expression )
67         {
68             _first->failedTest( file, line, expression );
69             _second->failedTest( file, line, expression );
70         }
71         
72         void failedAssert( const char *file, unsigned line, const char *expression )
73         {
74             _first->failedAssert( file, line, expression );
75             _second->failedAssert( file, line, expression );
76         }
77         
78         void failedAssertEquals( const char *file, unsigned line,
79                                  const char *xStr, const char *yStr,
80                                  const char *x, const char *y )
81         {
82             _first->failedAssertEquals( file, line, xStr, yStr, x, y );
83             _second->failedAssertEquals( file, line, xStr, yStr, x, y );
84         }
86         void failedAssertSameData( const char *file, unsigned line,
87                                    const char *xStr, const char *yStr,
88                                    const char *sizeStr, const void *x,
89                                    const void *y, unsigned size )
90         {
91             _first->failedAssertSameData( file, line, xStr, yStr, sizeStr, x, y, size );
92             _second->failedAssertSameData( file, line, xStr, yStr, sizeStr, x, y, size );
93         }
94         
95         void failedAssertDelta( const char *file, unsigned line,
96                                 const char *xStr, const char *yStr, const char *dStr,
97                                 const char *x, const char *y, const char *d )
98         {
99             _first->failedAssertDelta( file, line, xStr, yStr, dStr, x, y, d );
100             _second->failedAssertDelta( file, line, xStr, yStr, dStr, x, y, d );
101         }
102         
103         void failedAssertDiffers( const char *file, unsigned line,
104                                   const char *xStr, const char *yStr,
105                                   const char *value )
106         {
107             _first->failedAssertDiffers( file, line, xStr, yStr, value );
108             _second->failedAssertDiffers( file, line, xStr, yStr, value );
109         }
110         
111         void failedAssertLessThan( const char *file, unsigned line,
112                                    const char *xStr, const char *yStr,
113                                    const char *x, const char *y )
114         {
115             _first->failedAssertLessThan( file, line, xStr, yStr, x, y );
116             _second->failedAssertLessThan( file, line, xStr, yStr, x, y );
117         }
118         
119         void failedAssertLessThanEquals( const char *file, unsigned line,
120                                          const char *xStr, const char *yStr,
121                                          const char *x, const char *y )
122         {
123             _first->failedAssertLessThanEquals( file, line, xStr, yStr, x, y );
124             _second->failedAssertLessThanEquals( file, line, xStr, yStr, x, y );
125         }
126         
127         void failedAssertPredicate( const char *file, unsigned line,
128                                     const char *predicate, const char *xStr, const char *x )
129         {
130             _first->failedAssertPredicate( file, line, predicate, xStr, x );
131             _second->failedAssertPredicate( file, line, predicate, xStr, x );
132         }
133         
134         void failedAssertRelation( const char *file, unsigned line,
135                                    const char *relation, const char *xStr, const char *yStr,
136                                    const char *x, const char *y )
137         {
138             _first->failedAssertRelation( file, line, relation, xStr, yStr, x, y );
139             _second->failedAssertRelation( file, line, relation, xStr, yStr, x, y );
140         }
141         
142         void failedAssertThrows( const char *file, unsigned line,
143                                  const char *expression, const char *type,
144                                  bool otherThrown )
145         {
146             _first->failedAssertThrows( file, line, expression, type, otherThrown );
147             _second->failedAssertThrows( file, line, expression, type, otherThrown );
148         }
149         
150         void failedAssertThrowsNot( const char *file, unsigned line,
151                                     const char *expression )
152         {
153             _first->failedAssertThrowsNot( file, line, expression );
154             _second->failedAssertThrowsNot( file, line, expression );
155         }
156         
157         void leaveTest( const TestDescription &d )
158         {
159             _first->leaveTest(d);
160             _second->leaveTest(d);
161         }
162         
163         void leaveSuite( const SuiteDescription &d )
164         {
165             _first->leaveSuite(d);
166             _second->leaveSuite(d);
167         }
168         
169         void leaveWorld( const WorldDescription &d )
170         {
171             _first->leaveWorld(d);
172             _second->leaveWorld(d);
173         }
175     private:
176         TestListener *_first, *_second;
177         TestListener _dummy;
178     };
179 };
182 #endif // __cxxtest__TeeListener_h__