diff -r 238255e8b033 -r 84d9eb65b26f messagingappbase/smsmtm/test/src/t_smsdeliverlastsegmentreport.cpp --- a/messagingappbase/smsmtm/test/src/t_smsdeliverlastsegmentreport.cpp Fri Apr 16 14:56:15 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,226 +0,0 @@ -// Copyright (c) 2006-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 "t_smsdeliverlastsegmentreport.h" -#include -#include -#include - - - - -GLDEF_C TInt E32Main() - { - __UHEAP_MARK; - test.Start(_L("Setup")); - theCleanup = CTrapCleanup::New(); - if(theCleanup == NULL) - { - return KErrNoMemory; - } - TRAPD(ret,doMainL()); - delete theCleanup; - test.Printf(_L("Completed with return code %d"),ret); - test.End(); - test.Close(); - __UHEAP_MARKEND; - return ret; - } - -LOCAL_C void doMainL() - { - CActiveScheduler* scheduler = new (ELeave) CActiveScheduler; - CleanupStack::PushL(scheduler); - CActiveScheduler::Install(scheduler); - - CSmsTestUtils* smsTest = CSmsTestUtils::NewLC(test); - TInt nextTest = 0; - - CSmsDeliverLastSegmentReport* lastSegReport = CSmsDeliverLastSegmentReport::NewLC(*smsTest, KNullDesC, nextTest); - - lastSegReport->StartL(); - - CleanupStack::PopAndDestroy(3, scheduler); - } - -CSmsDeliverLastSegmentReport::CSmsDeliverLastSegmentReport(CSmsTestUtils& aSmsTest, const TDesC& aScriptFile, TInt& aNextTest) -: CSmsTestBase(aSmsTest, aScriptFile, aNextTest) - { - } - -void CSmsDeliverLastSegmentReport::RunAutoL() - { - // Testing settings (CSmsSettings) - iSmsTest.TestStart(++iNextTest, _L("CSmsSettings")); - TestSmsSettingsL(); - iSmsTest.TestFinish(iNextTest); - - // Testing number class (CSmsHeader) - iSmsTest.TestStart(++iNextTest, _L("CSmsHeader")); - TestSmsHeaderL(); - - iSmsTest.TestFinish(iNextTest); - - } - -CSmsDeliverLastSegmentReport::~CSmsDeliverLastSegmentReport() - { - delete iSmsHeader; - delete iRichText; - delete iParaLayer; - delete iCharLayer; - } - - -void CSmsDeliverLastSegmentReport::ConstructL() - { - iSmsTest.SetLogToFile(); - - iSelection = new (ELeave) CMsvEntrySelection(); - iTimer = CTestTimer::NewL(); - - iParaLayer =CParaFormatLayer::NewL(); - iCharLayer = CCharFormatLayer::NewL(); - iRichText = CRichText::NewL(iParaLayer, iCharLayer, CEditableText::EFlatStorage,256); - - CActiveScheduler::Add(this); - } - -CSmsDeliverLastSegmentReport* CSmsDeliverLastSegmentReport::NewLC(CSmsTestUtils& aSmsTest, const TDesC& aScriptFile, TInt& aNextTest) - { - CSmsDeliverLastSegmentReport* self = new (ELeave) CSmsDeliverLastSegmentReport(aSmsTest, aScriptFile, aNextTest); - CleanupStack::PushL(self); - - self->ConstructL(); - - return self; - } - -void CSmsDeliverLastSegmentReport::ShowMenuL() - { - iSmsTest.ResetMenu(); - - iSmsTest.AppendToMenuL(_L("Start")); - RunAutoL(); - - if (!iSmsTest.RunAuto()) - { - iSmsTest.Printf(_L("Press any key to continue...\n")); - iSmsTest.Test().Getch(); - } - - } - -void CSmsDeliverLastSegmentReport::TestSmsSettingsL() - { - iSmsTest.Printf(_L("Testing Create Settings...\n")); - - iSmsTest.SetEntryL(iSmsTest.iSmsServiceId); -// First we test all the last segment delivery report feature of the class CSmsSettings -// We give it different values and compare if it works - - CSmsSettings* settings = CSmsSettings::NewLC(); - - TestSettingLastSegmentDeliveryReport(*settings); - - iSmsTest.Printf(_L("Test Create Settings Passed\n")); - - CleanupStack::PopAndDestroy(settings); - -} - - - -void CSmsDeliverLastSegmentReport::TestSettingLastSegmentDeliveryReport(CSmsMessageSettings& aSettings) - { - -// Reject Duplicate - -// Delivery Report - aSettings.SetLastSegmentDeliveryReport(ETrue); - iSmsTest(aSettings.LastSegmentDeliveryReport()); - aSettings.SetLastSegmentDeliveryReport(EFalse); - iSmsTest(!aSettings.LastSegmentDeliveryReport()); - aSettings.SetLastSegmentDeliveryReport(ETrue); - - iSmsTest.Printf(_L("Test Last Segment Delivery Report Passed\n")); - -// Can Concatenate (write messages with more than 160 characters) - aSettings.SetCanConcatenate(ETrue); - iSmsTest(aSettings.CanConcatenate()); - aSettings.SetCanConcatenate(EFalse); - iSmsTest(aSettings.CanConcatenate()==EFalse); - iSmsTest.Printf(_L("Test Can Concatenate Passed\n")); - - } - - - - -void CSmsDeliverLastSegmentReport::TestSmsHeaderL() - { - -// Testing class CSmsHeader - iSmsTest.Test().Next(_L("Testing CSmsHeader")); - -// First we test constructing ESmsDeliver - delete iSmsHeader; // deleting the previous one - iSmsHeader = NULL; - iSmsHeader=CSmsHeader::NewL(CSmsPDU::ESmsDeliver,*iRichText); // constructing - iSmsTest(iSmsHeader->Type()==CSmsPDU::ESmsDeliver); // type ok? - - CSmsDeliver& deliver = iSmsHeader->Deliver(); // lets get the CSmsPDU of the CSmsHeader - iSmsTest(deliver.Type() == CSmsPDU::ESmsDeliver); // Are the types ok? - - -// Type ESmsStatusReport - delete iSmsHeader; // deleting the previous one - iSmsHeader = NULL; - iSmsHeader=CSmsHeader::NewL(CSmsPDU::ESmsStatusReport,*iRichText); - iSmsTest(iSmsHeader->Type()==CSmsPDU::ESmsStatusReport); - - CSmsStatusReport& statusreport=iSmsHeader->StatusReport(); - iSmsTest(statusreport.Type() == CSmsPDU::ESmsStatusReport); - -// Type ESmsSubmit - delete iSmsHeader; // deleting the previous one - iSmsHeader = NULL; - iSmsHeader=CSmsHeader::NewL(CSmsPDU::ESmsSubmit,*iRichText); - iSmsTest(iSmsHeader->Type()==CSmsPDU::ESmsSubmit); - - CSmsSubmit& submit=iSmsHeader->Submit(); - iSmsTest(submit.Type() == CSmsPDU::ESmsSubmit); - -// Lets access the CSmsMessage of our header - CSmsMessage& message=iSmsHeader->Message(); - iSmsTest(message.Type() == CSmsPDU::ESmsSubmit); - -// Setting settings of the message - CSmsSettings* smsSet = CSmsSettings::NewLC(); - smsSet->SetLastSegmentDeliveryReport(ETrue); - - // And copying them to the CSmsHeader - iSmsHeader->SetSmsSettingsL(*smsSet); - - // Lets get the same setting from the CSmsHeader - iSmsHeader->GetSmsSettingsL(*smsSet); - - // And compare that they are ok! - iSmsTest(smsSet->LastSegmentDeliveryReport()); - - CleanupStack::PopAndDestroy(); - } -