From fbd454f554f13680fe62b36fb7a5829f6dc0c396 Mon Sep 17 00:00:00 2001 From: Baptiste Lepilleur Date: Fri, 5 Oct 2001 21:27:15 +0000 Subject: Include/cppunit/Asserter. include/cppunit/Asserter.h : * src/cppunit/Asserter.cpp : added. Helper to create assertion macros. * src/cppunit/cppunit.dsp : * src/cppunit/Makefile.am : * include/cppunit/Makefile.am : added Asserter.h and Asserter.cpp. * include/cppunit/Exception.h : * src/cppunit/Exception.cpp : added constructor that take a SourceLine argument. Deprecated static constant and old constructor. Fixed some constness issues. * examples/cppunittest/ExceptionTest.cpp : Refactored. * NEWS : partially updated (need to be more detailed) * include/cppunit/NotEqualException.h : * src/cppunit/NotEqualException.cpp : added constructor that take a SourceLine argument. Deprecated old constructor. Added a third element to compose message. * examples/cppunittest/NotEqualExceptionTest.cpp : moved to "Core" suite. Added test for SourceLine() and additionalMessage(). Refactored. * include/cppunit/SourceLine.h : * src/cppunit/SourceLine.cpp : added. Result of applying IntroduceParameterObject refactoring on filename & line number... * include/cppunit/TestAssert.h : * src/cppunit/TestAssert.cpp : deprecated old assert functions. added functions assertEquals() and assertDoubleEquals() which use SourceLine. * src/cppunit/TestCase.cpp : Modified for SourceLine. * include/cppunit/TestFailure.h : * src/cppunit/TestFailure.cpp : added failedTestName(), and sourceLine(). * src/msvc6/testrunner/TestRunnerDlg.cpp : modified to use SourceLine. * include/cppunit/TextTestResult.h : * src/cppunit/TextTestResult.cpp : corrected include order and switched to angled brackets. Refactored. Don't print failure location if not available. Not equal failure dump additional message if available. * src/cppunit/TextTestRunner.cpp : run() now returns a boolean to indicate if the run was sucessful. * src/cppunit/XmlTestResultOutputter.cpp : replaced itoa() with OStringStream. Refactored. * examples/cppunittest/XmlUniformiser.h : * examples/cppunittest/XmlUniformiser.cpp : CPPUNITTEST_ASSERT_XML_EQUAL capture failure location. Refactored checkXmlEqual(). * examples/cppunittest/XmlUniformiserTest.h : * examples/cppunittest/XmlUniformiserTest.cpp : added test for CPPUNITTEST_ASSERT_XML_EQUAL. * include/cppunit/XmlTestResultOutputter.h : * src/cppunit/XmlTestResultOutputter.cpp : updated to use SourceLine. --- src/cppunit/XmlTestResultOutputter.cpp | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'src/cppunit/XmlTestResultOutputter.cpp') diff --git a/src/cppunit/XmlTestResultOutputter.cpp b/src/cppunit/XmlTestResultOutputter.cpp index 590c617..7e81c7c 100644 --- a/src/cppunit/XmlTestResultOutputter.cpp +++ b/src/cppunit/XmlTestResultOutputter.cpp @@ -139,8 +139,9 @@ XmlTestResultOutputter::Node::escape( std::string value ) const std::string XmlTestResultOutputter::Node::asString( int value ) { - char buffer[16]; - return ::itoa( value, buffer, 10 ); + OStringStream stream; + stream << value; + return stream.str(); } @@ -286,17 +287,23 @@ XmlTestResultOutputter::makeFailedTestNode( Test *test, testNode->addNode( new Node( "FailureType", failure->isError() ? "Error" : "Assertion" ) ); - if ( thrownException->lineNumber() != Exception::UNKNOWNLINENUMBER ) - { - Node *locationNode = new Node( "Location" ); - testNode->addNode( locationNode ); - locationNode->addNode( new Node( "File", thrownException->fileName() ) ); - locationNode->addNode( new Node( "Line", thrownException->lineNumber() ) ); - } + if ( failure->sourceLine().isValid() ) + testNode->addNode( makeFailureLocationNode( failure ) ); return testNode; } +XmlTestResultOutputter::Node * +XmlTestResultOutputter::makeFailureLocationNode( TestFailure *failure ) +{ + Node *locationNode = new Node( "Location" ); + SourceLine sourceLine = failure->sourceLine(); + locationNode->addNode( new Node( "File", sourceLine.fileName() ) ); + locationNode->addNode( new Node( "Line", sourceLine.lineNumber() ) ); + return locationNode; +} + + XmlTestResultOutputter::Node * XmlTestResultOutputter::makeSucessfulTestNode( Test *test, int testNumber ) -- cgit v1.2.1