--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/classicui_pub/popups_api/tsrc/src/testsdkpopupsblockscpf.cpp Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,842 @@
+/*
+* Copyright (c) 2002 - 2007 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: test AknPopupField.h
+*
+*/
+
+
+
+// [INCLUDE FILES]
+
+#include <aknpopupfield.h>
+#include <barsread.h>
+#include <coemain.h>
+#include <aknqueryvaluetext.h>
+#include <eikenv.h>
+#include <aknlists.h>
+#include <aknform.h>
+#include <testsdkpopups.rsg>
+
+#include "testsdkpopups.hrh"
+#include "testsdkpopups.h"
+#include "testsdkpopupspf.h"
+#include "testsdkpopupscpf.h"
+
+const TInt KLength = 20;
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFCAknPopupFieldL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFCAknPopupFieldL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFDeconstructorL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFDeconstructorL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ CleanupStack::Pop( field );
+ delete field;
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFConstructL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFConstructL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+
+ _LIT( KEmptyText, "EmptyText" );
+ TBuf<KLength> emptyText( KEmptyText );
+ field->SetEmptyTextL( emptyText );
+
+ _LIT( KInvalidText, "InvalidText" );
+ TBuf<KLength> invalidText( KInvalidText );
+ field->SetInvalidTextL( invalidText );
+
+ field->ConstructL();
+
+ CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFSetAllowsUserDefinedEntryL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFSetAllowsUserDefinedEntryL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ field->SetAllowsUserDefinedEntry( EFalse );
+ field->SetAllowsUserDefinedEntry( ETrue );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFActivateSelectionListL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFActivateSelectionListL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ field->SetEmptyListNoteL( R_TESTSDK_LISTNOTE );
+ field->ActivateSelectionListL();
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFSetQueryValueL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFSetQueryValueL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ _LIT( KArrayContent, "test" );
+ CAknQueryValueText* queryValue = CAknQueryValueText::NewL();
+ CleanupStack::PushL( queryValue );
+ CAknQueryValueTextArray* array = CAknQueryValueTextArray::NewL();
+ CleanupStack::PushL( array );
+ CDesC16ArrayFlat* temp = new (ELeave) CDesC16ArrayFlat(1);
+ CleanupStack::PushL( temp );
+ temp->AppendL( KArrayContent );
+ array->SetArray( *temp );
+ queryValue->SetArrayL( array );
+ field->SetQueryValueL( queryValue );
+
+ CleanupStack::PopAndDestroy( temp );
+ CleanupStack::PopAndDestroy( array );
+ CleanupStack::PopAndDestroy( queryValue );
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFSetFontL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFSetFontL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ const CFont* font = CEikonEnv::Static()->LegendFont();
+ field->SetFont( font );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFSetShowIndicatorsL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFSetShowIndicatorsL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ field->SetShowIndicatorsL( EFalse );
+ field->SetShowIndicatorsL( ETrue );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFNumLinesL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFNumLinesL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ TInt num = field->NumLines();
+ STIF_ASSERT_EQUALS( 1, num );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFSetPopupFieldObserverL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFSetPopupFieldObserverL( CStifItemParser& /*aItem*/ )
+ {
+ CTestSDKPopupsPF* observer = new (ELeave) CTestSDKPopupsPF;
+ CleanupStack::PushL( observer );
+ STIF_ASSERT_NOT_NULL( observer );
+
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ field->SetPopupFieldObserver( observer );
+
+ CleanupStack::PopAndDestroy( field );
+ CleanupStack::PopAndDestroy( observer );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFSetEmptyListNoteL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFSetEmptyListNoteL( CStifItemParser& aItem )
+ {
+ return TestCPFActivateSelectionListL( aItem );
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFSetEmptyTextL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFSetEmptyTextL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ _LIT( KEmptyText, "EmptyText" );
+ TBuf<KLength> emptyText( KEmptyText );
+ field->SetEmptyTextL( emptyText );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFSetOtherTextL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFSetOtherTextL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ _LIT( KOtherText, "OtherText" );
+ TBuf<KLength> otherText( KOtherText );
+ field->SetOtherTextL( otherText );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFSetInvalidTextL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFSetInvalidTextL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ _LIT( KInvalidText, "InvalidText" );
+ TBuf<KLength> invalidText( KInvalidText );
+ field->SetInvalidTextL( invalidText );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFOfferKeyEventL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFOfferKeyEventL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ TKeyEvent keyEvent;
+ keyEvent.iCode = EKeyDevice1;
+ STIF_ASSERT_TRUE( EKeyWasNotConsumed == field->OfferKeyEventL( keyEvent, EEventKey ) );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFConstructFromResourceL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFConstructFromResourceL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFMinimumSizeL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFMinimumSizeL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ TSize size = field->MinimumSize();
+ TPoint point = size.AsPoint();
+ STIF_ASSERT_EQUALS( 0, point.iX );
+ STIF_ASSERT_NOT_EQUALS( 0, point.iY );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFHandleResourceChangeL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFHandleResourceChangeL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ field->HandleResourceChange( KEikMessageCaptionedControlEditableStateChange );
+ field->HandleResourceChange( KEikMessageCaptionedControlEditableStateChangeWideWithGraphic );
+ field->HandleResourceChange( KEikMessageCaptionedControlEditableStateChangeWideWithoutGraphic );
+ field->HandleResourceChange( KEikMessageCaptionedControlNotEditableStateChange );
+ field->HandleResourceChange( KEikMessageCaptionedControlNotEditableStateChangeWideWithGraphic );
+ field->HandleResourceChange( KEikMessageCaptionedControlNotEditableStateChangeWideWithoutGraphic );
+ field->HandleResourceChange( KEikMessageCaptionedControlEditableStateChange );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFHandlePointerEventL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFHandlePointerEventL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ TPointerEvent event;
+ event.iType = TPointerEvent::EButton1Down;
+ event.iModifiers = 0;
+ TPoint eventPos( 10, 30 );
+ event.iPosition = eventPos;
+ event.iParentPosition = eventPos;
+ field->HandlePointerEventL( event );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFSetMaxNumberOfLinesPermittedL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFSetMaxNumberOfLinesPermittedL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ const TInt maxnum = 5;
+ field->SetMaxNumberOfLinesPermitted( maxnum );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFSetFormFieldRectL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFSetFormFieldRectL( CStifItemParser& /*aItem*/ )
+ {
+ CAknPopupField* field = new (ELeave) CAknPopupField;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ TRect rect( KLength, KLength, KLength, KLength );
+ field->SetFormFieldRect( rect );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFHandleControlEventL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFHandleControlEventL( CStifItemParser& /*aItem*/ )
+ {
+ CEikFormattedCellListBox* formatListBox = new( ELeave ) CAknSinglePopupMenuStyleListBox;
+ CleanupStack::PushL( formatListBox );
+ STIF_ASSERT_NOT_NULL( formatListBox );
+
+ CTestSDKPopupsCPF* field = new (ELeave) CTestSDKPopupsCPF;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ field->HandleControlEventL( formatListBox, MCoeControlObserver::EEventRequestExit );
+ field->HandleControlEventL( formatListBox, MCoeControlObserver::EEventRequestFocus );
+ field->HandleControlEventL( formatListBox, MCoeControlObserver::EEventPrepareFocusTransition );
+
+ CleanupStack::PopAndDestroy( field );
+ CleanupStack::PopAndDestroy( formatListBox );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFProcessCommandL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFProcessCommandL( CStifItemParser& /*aItem*/ )
+ {
+ CAknForm* form = new( ELeave ) CAknForm();
+ CleanupStack::PushL( form );
+ STIF_ASSERT_NOT_NULL( form );
+ CleanupStack::Pop( form );
+ form->PrepareLC( R_TESTSDK_POPUPSFIELDFORM );
+
+ CTestSDKPopupsCPF* field = static_cast<CTestSDKPopupsCPF*>( form->ControlOrNull( ETestSDKField1 ) );
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ _LIT( KArrayContent, "test" );
+ _LIT( KArrayContent1, "test1" );
+ CAknQueryValueText* queryValue = CAknQueryValueText::NewL();
+ CleanupStack::PushL( queryValue );
+ CAknQueryValueTextArray* array = CAknQueryValueTextArray::NewL();
+ CleanupStack::PushL( array );
+ CDesC16ArrayFlat* temp = new (ELeave) CDesC16ArrayFlat(1);
+ CleanupStack::PushL( temp );
+ temp->AppendL( KArrayContent );
+ temp->AppendL( KArrayContent1 );
+ array->SetArray( *temp );
+ queryValue->SetArrayL( array );
+ field->SetQueryValueL( queryValue );
+
+ field->ActivateSelectionListL();
+
+ field->ProcessCommandL( EAknSoftkeyOk );
+
+ CleanupStack::PopAndDestroy( temp );
+ CleanupStack::PopAndDestroy( array );
+ CleanupStack::PopAndDestroy( queryValue );
+ CleanupStack::Pop( field );
+ CleanupStack::PopAndDestroy( form );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFHandleListBoxEventL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFHandleListBoxEventL( CStifItemParser& /*aItem*/ )
+ {
+ CEikFormattedCellListBox* formatListBox = new( ELeave ) CAknSinglePopupMenuStyleListBox;
+ CleanupStack::PushL( formatListBox );
+ STIF_ASSERT_NOT_NULL( formatListBox );
+
+ CAknForm* form = new( ELeave ) CAknForm();
+ CleanupStack::PushL( form );
+ STIF_ASSERT_NOT_NULL( form );
+ CleanupStack::Pop( form );
+ form->PrepareLC( R_TESTSDK_POPUPSFIELDFORM );
+
+ CTestSDKPopupsCPF* field = static_cast<CTestSDKPopupsCPF*>( form->ControlOrNull( ETestSDKField1 ) );
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ _LIT( KArrayContent, "test" );
+ _LIT( KArrayContent1, "test1" );
+ CAknQueryValueText* queryValue = CAknQueryValueText::NewL();
+ CleanupStack::PushL( queryValue );
+ CAknQueryValueTextArray* array = CAknQueryValueTextArray::NewL();
+ CleanupStack::PushL( array );
+ CDesC16ArrayFlat* temp = new (ELeave) CDesC16ArrayFlat(1);
+ CleanupStack::PushL( temp );
+ temp->AppendL( KArrayContent );
+ temp->AppendL( KArrayContent1 );
+ array->SetArray( *temp );
+ queryValue->SetArrayL( array );
+ field->SetQueryValueL( queryValue );
+
+ field->ActivateSelectionListL();
+ field->HandleListBoxEventL( formatListBox, MEikListBoxObserver::EEventEnterKeyPressed );
+
+ CleanupStack::PopAndDestroy( temp );
+ CleanupStack::PopAndDestroy( array );
+ CleanupStack::PopAndDestroy( queryValue );
+ CleanupStack::Pop( field );
+ CleanupStack::PopAndDestroy( form );
+ CleanupStack::PopAndDestroy( formatListBox );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFCountComponentControlsL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFCountComponentControlsL( CStifItemParser& /*aItem*/ )
+ {
+ CTestSDKPopupsCPF* field = new (ELeave) CTestSDKPopupsCPF;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ TInt count = field->CountComponentControls();
+ STIF_ASSERT_EQUALS( 1, count );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFComponentControlL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFComponentControlL( CStifItemParser& /*aItem*/ )
+ {
+ CAknForm* form = new( ELeave ) CAknForm();
+ CleanupStack::PushL( form );
+ STIF_ASSERT_NOT_NULL( form );
+ CleanupStack::Pop( form );
+ form->PrepareLC( R_TESTSDK_POPUPSFIELDFORM );
+
+ CTestSDKPopupsCPF* field = static_cast<CTestSDKPopupsCPF*>( form->ControlOrNull( ETestSDKField1 ) );
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ _LIT( KArrayContent, "test" );
+ _LIT( KArrayContent1, "test1" );
+ CAknQueryValueText* queryValue = CAknQueryValueText::NewL();
+ CleanupStack::PushL( queryValue );
+ CAknQueryValueTextArray* array = CAknQueryValueTextArray::NewL();
+ CleanupStack::PushL( array );
+ CDesC16ArrayFlat* temp = new (ELeave) CDesC16ArrayFlat(1);
+ CleanupStack::PushL( temp );
+ temp->AppendL( KArrayContent );
+ temp->AppendL( KArrayContent1 );
+ array->SetArray( *temp );
+ queryValue->SetArrayL( array );
+ field->SetQueryValueL( queryValue );
+
+ field->ActivateSelectionListL();
+
+ CEikLabel* label = static_cast<CEikLabel*> ( field->ComponentControl( 1 ) );
+ STIF_ASSERT_NOT_NULL( label );
+
+ CleanupStack::PopAndDestroy( temp );
+ CleanupStack::PopAndDestroy( array );
+ CleanupStack::PopAndDestroy( queryValue );
+ CleanupStack::Pop( field );
+ CleanupStack::PopAndDestroy( form );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFSizeChangedL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFSizeChangedL( CStifItemParser& /*aItem*/ )
+ {
+
+ CTestSDKPopupsCPF* field = new (ELeave) CTestSDKPopupsCPF;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ TRect rect( KLength, KLength, KLength, KLength );
+ field->SetFormFieldRect( rect );
+ field->SizeChanged();
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFFocusChangedL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFFocusChangedL( CStifItemParser& /*aItem*/ )
+ {
+
+ CTestSDKPopupsCPF* field = new (ELeave) CTestSDKPopupsCPF;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ field->FocusChanged( EDrawNow );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFDrawL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFDrawL( CStifItemParser& /*aItem*/ )
+ {
+
+ CTestSDKPopupsCPF* field = new (ELeave) CTestSDKPopupsCPF;
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TResourceReader reader;
+ CCoeEnv::Static()->CreateResourceReaderLC(reader, R_TESTSDK_POPUPSFIELD );
+ field->ConstructFromResourceL( reader );
+ CleanupStack::PopAndDestroy();
+
+ TRect rect( KLength, KLength, KLength, KLength );
+ field->Draw( rect );
+
+ CleanupStack::PopAndDestroy( field );
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CTestSDKPopups::TestCPFMopSupplyObjectL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKPopups::TestCPFMopSupplyObjectL( CStifItemParser& /*aItem*/ )
+ {
+ CAknForm* form = new( ELeave ) CAknForm();
+ CleanupStack::PushL( form );
+ STIF_ASSERT_NOT_NULL( form );
+ CleanupStack::Pop( form );
+ form->PrepareLC( R_TESTSDK_POPUPSFIELDFORM );
+
+ CTestSDKPopupsCPF* field = static_cast<CTestSDKPopupsCPF*>( form->ControlOrNull( ETestSDKField1 ) );
+ CleanupStack::PushL( field );
+ STIF_ASSERT_NOT_NULL( field );
+
+ TTypeUid::Ptr ptr = TTypeUid::Null();
+ ptr = field->MopSupplyObject( CAknPopupList::ETypeId );
+ CTestSDKPopupsCPF* point = static_cast<CTestSDKPopupsCPF*> ( ptr.Pointer() );
+ STIF_ASSERT_NULL( point );
+
+ CleanupStack::Pop( field );
+ CleanupStack::PopAndDestroy( form );
+
+ return KErrNone;
+
+ }