blob: f7a85df7f032e64f11db3304d4bdd56d95b4a5fb (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 | #ifndef CPPUNIT_SOURCELINE_H
#define CPPUNIT_SOURCELINE_H
#include <cppunit/Portability.h>
#include <string>
/*! \brief Constructs a SourceLine object initialized with the location where the macro is expanded.
 * \ingroup CreatingNewAssertions
 * \relates CppUnit::SourceLine
 * Used to write your own assertion macros.
 * \see Asserter for example of usage.
 */
#define CPPUNIT_SOURCELINE() CPPUNIT_NS::SourceLine( __FILE__, __LINE__ )
CPPUNIT_NS_BEGIN
/*! \brief Represents a source line location.
 * \ingroup CreatingNewAssertions
 * \ingroup BrowsingCollectedTestResult
 *
 * Used to capture the failure location in assertion.
 * 
 * Use the CPPUNIT_SOURCELINE() macro to construct that object. Typically used when
 * writing an assertion macro in association with Asserter.
 *
 * \see Asserter.
 */
class CPPUNIT_API SourceLine
{
public:
  SourceLine();
  // Ensure thread-safe copy by detaching the string buffer.
  SourceLine( const SourceLine &other );
  SourceLine( const std::string &fileName,
              int lineNumber );
  SourceLine &operator =( const SourceLine &other );
  /// Destructor.
  virtual ~SourceLine();
  bool isValid() const;
  int lineNumber() const;
  std::string fileName() const;
  bool operator ==( const SourceLine &other ) const;
  bool operator !=( const SourceLine &other ) const;
private:
  std::string m_fileName;
  int m_lineNumber;
};
CPPUNIT_NS_END
#endif  // CPPUNIT_SOURCELINE_H
 |