testexecfw/symbianunittestfw/sutfw/sutfwcore/sutfwoutput/src/symbianunittestoutputastext.cpp
changeset 0 3e07fef1e154
child 1 bbd31066657e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testexecfw/symbianunittestfw/sutfw/sutfwcore/sutfwoutput/src/symbianunittestoutputastext.cpp	Mon Mar 08 15:03:44 2010 +0800
@@ -0,0 +1,141 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+#include "symbianunittestresult.h"
+#include "symbianunittestfailure.h"
+#include "symbianunittestfileoutputwriter.h"
+#include "symbianunittestoutputastext.h"
+
+_LIT8( KTxtExecutedTests, "\r\n %d unit tests executed " );
+_LIT8( KTxtPassedTests, " Passed tests: %d\r\n\r\n" );
+_LIT8( KTxtFailedTests, " Failed tests: %d\r\n\r\n" );
+_LIT8( KTxtFailureTest, "   Test: " );
+_LIT8( KTxtFailureFile, "   File: " );
+_LIT8( KTxtFailureLine, "   Line: %d\r\n" );
+_LIT8( KTxtFailureReason, "   Reason: " );
+_LIT8( KLineEnd, "\r\n" );
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+CSymbianUnitTestOutputAsText* CSymbianUnitTestOutputAsText::NewL(
+    const TDesC& aFileName )
+    {
+    CSymbianUnitTestOutputAsText* self = 
+        new( ELeave )CSymbianUnitTestOutputAsText;
+    CleanupStack::PushL( self );
+    self->ConstructL( aFileName );
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+CSymbianUnitTestOutputAsText::CSymbianUnitTestOutputAsText()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+CSymbianUnitTestOutputAsText::~CSymbianUnitTestOutputAsText()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// From CSymbianUnitTestOutputFormatter
+// -----------------------------------------------------------------------------
+//
+const TDesC& CSymbianUnitTestOutputAsText::FileExtension() const
+    {
+    return KTextOutput;
+    }
+
+// -----------------------------------------------------------------------------
+// From CSymbianUnitTestOutputFormatter
+// -----------------------------------------------------------------------------
+//
+void CSymbianUnitTestOutputAsText::PrintHeaderL( 
+    CSymbianUnitTestResult& aResult )
+    {
+    iOutputWriter->WriteL( KTxtExecutedTests, aResult.TestCount() );
+    iOutputWriter->WriteDateAndTimeL();
+    iOutputWriter->WriteL( KLineEnd );
+    iOutputWriter->WriteL( KLineEnd );
+    }
+
+// -----------------------------------------------------------------------------
+// From CSymbianUnitTestOutputFormatter
+// -----------------------------------------------------------------------------
+//
+void CSymbianUnitTestOutputAsText::PrintPassedTestsL( 
+    CSymbianUnitTestResult& aResult )
+    {
+    iOutputWriter->WriteL( KTxtPassedTests, aResult.PassedTestCount() );
+    }
+
+// -----------------------------------------------------------------------------
+// From CSymbianUnitTestOutputFormatter
+// -----------------------------------------------------------------------------
+//
+void CSymbianUnitTestOutputAsText::PrintFailedTestsL( 
+    CSymbianUnitTestResult& aResult ) 
+    {
+    iOutputWriter->WriteL( KTxtFailedTests, aResult.Failures().Count() );
+    for ( TInt i=0; i < aResult.Failures().Count(); i++ )
+        {
+        PrintFailureDetailsL( *( aResult.Failures()[ i ] ) );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// From CSymbianUnitTestOutputFormatter
+// -----------------------------------------------------------------------------
+//
+void CSymbianUnitTestOutputAsText::PrintFooterL()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CSymbianUnitTestOutputAsText::PrintFailureDetailsL( 
+    CSymbianUnitTestFailure& aTestFailure )
+    {
+    iOutputWriter->WriteL( KTxtFailureTest );
+    iOutputWriter->WriteL( aTestFailure.TestName() );
+    iOutputWriter->WriteL( KLineEnd );
+    if ( aTestFailure.FileName().Length() > 0 )
+        {
+        iOutputWriter->WriteL( KTxtFailureFile );
+        iOutputWriter->WriteL( aTestFailure.FileName() );
+        iOutputWriter->WriteL( KLineEnd );
+        }
+    if ( aTestFailure.LineNumber() >= 0 )
+        {
+        iOutputWriter->WriteL( KTxtFailureLine, aTestFailure.LineNumber() );
+        }
+    iOutputWriter->WriteL( KTxtFailureReason );
+    iOutputWriter->WriteL( aTestFailure.FailureMessage() );
+    iOutputWriter->WriteL( KLineEnd );
+    iOutputWriter->WriteL( KLineEnd );
+    }