diff -r 000000000000 -r dfb7c4ff071f datacommsserver/networkingdialogapi/TE_Dialog/src/TestPCTDialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datacommsserver/networkingdialogapi/TE_Dialog/src/TestPCTDialog.cpp Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,129 @@ +// Copyright (c) 2003-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: +// + +/** + @file TestPCTDialog.cpp +*/ + +//Symbian OS Headers +#include +#include + +//Test Framework Header +#include + +//Test Step Header +#include "TestPCTDialog.h" + + +CTestPCTDialog::~CTestPCTDialog() +/** + * Destructor + */ + { + } + +CTestPCTDialog::CTestPCTDialog() +/** + * Constructor + */ + { + SetTestStepName(KTestPCTDialog); + } + + +TVerdict CTestPCTDialog::doTestStepL() + { + + // When bootstrapping C32 we have to avoid the PhBkSyncServer being started, since + // it needs a different CommDB + _LIT(KPhbkSyncCMI, "phbsync.cmi"); + TInt ret = StartC32WithCMISuppressions(KPhbkSyncCMI); + if ((ret != KErrNone) && (ret != KErrAlreadyExists)) + INFO_PRINTF2(_L("error is : %d \n"), ret); + else + INFO_PRINTF1(_L("Started C32\n")); + + RGenConAgentDialogServer dlgSv; + TRAP_IGNORE(dlgSv.Connect()); + INFO_PRINTF1(_L("Connected Dialog Server\n")); + + TRequestStatus status; + + INFO_PRINTF1(_L("Testing the PCT\n")); + dlgSv.OpenPct(); + TRequestStatus destroyStatus; + dlgSv.DestroyPctNotification(destroyStatus); + INFO_PRINTF1(_L("Requested destroy notification\n")); + TBuf<256> writeBuffer=_L("Welcome to Ann's ISP"); + dlgSv.WritePct(writeBuffer); + writeBuffer=_L("Login:"); + dlgSv.WritePct(writeBuffer); + TBuf<256> readBuffer=_L("UserName"); + dlgSv.ReadPct(readBuffer,status); + User::WaitForRequest(status); + ret=status.Int(); + INFO_PRINTF2(_L("Read from PCT completed with code = %d\n"),ret); + checkPctError(dlgSv,ret); + INFO_PRINTF2(_L("Read from PCT = %S\n"),&readBuffer); + writeBuffer=_L("Password:"); + dlgSv.WritePct(writeBuffer); + readBuffer=_L("PassWord"); + dlgSv.ReadPct(readBuffer,status); + User::WaitForRequest(status); + ret=status.Int(); + INFO_PRINTF2(_L("Read from PCT completed with code = %d\n"),ret); + checkPctError(dlgSv,ret); + INFO_PRINTF2(_L("Read from PCT = %S\n"),&readBuffer); + writeBuffer=_L("Login correct!"); + dlgSv.WritePct(writeBuffer); + User::After(2*1000000); + dlgSv.CancelDestroyPctNotification(); + User::WaitForRequest(destroyStatus); + + if ((destroyStatus.Int()==KErrCancel)) + INFO_PRINTF2(_L("error is : %d \n"), destroyStatus.Int()); + + dlgSv.ClosePct(); + dlgSv.Close(); + + return TestStepResult(); + } + + +void CTestPCTDialog::checkError(RGenConAgentDialogServer& aDlgSvr, TInt aError) + { + if (aError!=KErrNone && aError!=KErrCancel) + aDlgSvr.Close(); + + if ((aError!=KErrNone) && (aError!=KErrCancel)) + INFO_PRINTF2(_L("Error is : %d \n"), aError); + } + +void CTestPCTDialog::checkPctError(RGenConAgentDialogServer& aDlgSvr, TInt aError) + { + if (aError!=KErrNone) + { + aDlgSvr.ClosePct(); + TRequestStatus destroyStatus; + User::WaitForRequest(destroyStatus); + aDlgSvr.Close(); + } + + TEST(aError==KErrNone); + } + + +