classicui_pub/popups_api/tsrc/src/testsdkpopupsblockscpf.cpp
changeset 0 2f259fa3e83a
--- /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;
+    
+    }