classicui_pub/buttons_api/tsrc/src/testsdkbuttonsblockseikbutb.cpp
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/classicui_pub/buttons_api/tsrc/src/testsdkbuttonsblockseikbutb.cpp	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,360 @@
+/*
+* 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 api in eikbutb.h
+*
+*/
+
+
+
+// [INCLUDE FILES]
+#include <stifparser.h>
+#include <s32mem.h>
+
+#include "testsdkbuttons.h"
+
+// CONSTANTS
+const TInt KArraySize = 10;
+const TInt KHbufSize = 2000;
+// FORWARD DECLARATIONS
+/*
+ * ==============================================================================
+ * Test protect functions of CTestButtonBase
+ * ==============================================================================
+ * */
+class CTestButtonBase : public CEikButtonBase
+    {
+public:
+    // NewL function
+    static CTestButtonBase* NewL();
+    
+    // Deconstructor
+    ~CTestButtonBase();
+public:
+
+    /**
+     * Test protected function DrawState of CEikButtonBase
+     */
+    TInt DoDrawState();
+
+    /**
+     * Test protected function SetAllowTristate of CEikButtonBase
+     */
+    TInt DoSetAllowTristate();
+
+    /**
+     * Test protected function CopyDrawStateTo of CEikButtonBase
+     */
+    TInt DoCopyDrawStateTo(CEikButtonBase* aTargetButton);
+    
+private:
+    /**
+     * 2nd constuctor
+     */
+    void ConstructL();
+    /**
+     * Constructor
+     */
+    CTestButtonBase();
+    
+private:
+    // Data
+    
+    };
+// -----------------------------------------------------------------------------
+// CTestButtonBase::CTestButtonBase
+// -----------------------------------------------------------------------------
+//
+CTestButtonBase::CTestButtonBase(){}
+
+// -----------------------------------------------------------------------------
+// CTestButtonBase::~CTestButtonBase
+// -----------------------------------------------------------------------------
+//
+CTestButtonBase::~CTestButtonBase(){}
+
+// -----------------------------------------------------------------------------
+// CTestButtonBase::CTestButtonBase
+// -----------------------------------------------------------------------------
+//
+CTestButtonBase* CTestButtonBase::NewL()
+    {
+    CTestButtonBase* self = new ( ELeave ) CTestButtonBase;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestButtonBase::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CTestButtonBase::ConstructL()
+    {
+    // Nothing to do
+    }
+
+// -----------------------------------------------------------------------------
+// CTestButtonBase::DoDrawState
+// -----------------------------------------------------------------------------
+//
+TInt CTestButtonBase::DoDrawState()
+    {
+    CEikButtonBase::SetReportOnPointerDown();
+    CEikButtonBase::SetIgnoreNextPointerUp();
+    SetReportOnPointerDown();
+    IsPressed();
+    DrawState();
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestButtonBase::DoSetAllowTristate
+// -----------------------------------------------------------------------------
+//
+TInt CTestButtonBase::DoSetAllowTristate()
+    {
+    SetAllowTristate();
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestButtonBase::DoCopyDrawStateTo
+// -----------------------------------------------------------------------------
+//
+TInt CTestButtonBase::DoCopyDrawStateTo( CEikButtonBase* aTargetButton )
+    {
+    CopyDrawStateTo( aTargetButton );
+    if ( this->State() != aTargetButton->State() )
+        return KErrGeneral;
+    return KErrNone;
+    }
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtBaseConstructorL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtBaseConstructorL( CStifItemParser& /*aItem*/ )
+    {
+    CEikButtonBase* btbase = new ( ELeave ) CEikButtonBase;
+    CleanupStack::PushL( btbase );
+    STIF_ASSERT_NOT_NULL( btbase );
+    CleanupStack::PopAndDestroy( btbase );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtBaseConstructorL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtBaseSetAndGetStateL( CStifItemParser& /*aItem*/ )
+    {
+    CEikButtonBase* btbase = new ( ELeave ) CEikButtonBase;
+    CleanupStack::PushL( btbase );
+    btbase->SetState( CEikButtonBase::ESet );
+    CEikButtonBase::TState state = CEikButtonBase::EClear;
+    state = btbase->State();
+    if ( state != CEikButtonBase::ESet )
+        {
+        return KErrGeneral;
+        }
+        
+    CleanupStack::PopAndDestroy( btbase );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtBaseAnimateL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtBaseAnimateL( CStifItemParser& /*aItem*/ )
+    {
+    CEikButtonBase* btbase = new ( ELeave ) CEikButtonBase;
+    CleanupStack::PushL( btbase );
+    btbase->Animate();
+    
+    CleanupStack::PopAndDestroy( btbase );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtBaseSetCoordinatorL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtBaseSetCoordinatorL( CStifItemParser& /*aItem*/ )
+    {
+    CEikButtonBase* btbase = new ( ELeave ) CEikButtonBase;
+    CleanupStack::PushL( btbase );
+    CEikButtonBase* cobtbase = new ( ELeave ) CEikButtonBase;
+    CleanupStack::PushL( cobtbase );
+    TEikButtonCoordinator coordinator;
+    coordinator.SetChosenButton( cobtbase );
+    btbase->SetCoordinator( &coordinator );
+    
+    CleanupStack::PopAndDestroy( 2 );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtBaseSetBehaviorL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtBaseSetBehaviorL( CStifItemParser& /*aItem*/ )
+    {
+    CEikButtonBase* btbase = new ( ELeave ) CEikButtonBase;
+    CleanupStack::PushL( btbase );
+    btbase->SetBehavior( EEikButtonStaysSet );
+    
+    CleanupStack::PopAndDestroy( btbase );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtBaseGetColorUseListL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtBaseGetColorUseListL( CStifItemParser& /*aItem*/ )
+    {
+    CEikButtonBase* btbase = new ( ELeave ) CEikButtonBase;
+    CleanupStack::PushL( btbase );
+    
+    CArrayFixFlat<TCoeColorUse>* array = new ( ELeave ) CArrayFixFlat<TCoeColorUse>( KArraySize );
+    CleanupStack::PushL( array );
+    btbase->GetColorUseListL( *array );
+    STIF_ASSERT_EQUALS( 0, array->Count() );
+    CleanupStack::PopAndDestroy( 2 );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtBaseHandleResourceChangeL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtBaseHandleResourceChangeL( CStifItemParser& /*aItem*/ )
+    {
+    CEikButtonBase* btbase = new ( ELeave ) CEikButtonBase;
+    CleanupStack::PushL( btbase );
+    btbase->HandleResourceChange( 0 );
+    
+    CleanupStack::PopAndDestroy( btbase );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtBaseWriteInternalStateL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtBaseWriteInternalStateL( CStifItemParser& /*aItem*/ )
+    {
+    CEikButtonBase* btbase = new ( ELeave ) CEikButtonBase;
+    CleanupStack::PushL( btbase );
+    RDesWriteStream stream;
+    CleanupClosePushL( stream );
+    HBufC8* buf = HBufC8::NewL( KHbufSize );
+    CleanupStack::PushL( buf );
+    TPtr8 ptr = buf->Des();
+    stream.Open( ptr );
+    btbase->WriteInternalStateL( stream );
+    stream.CommitL();
+    stream.Close();
+    CleanupStack::PopAndDestroy( 3 );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtBaseDrawStateL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtBaseDrawStateL( CStifItemParser& /*aItem*/ )
+    {
+    CTestButtonBase* abtbase = CTestButtonBase::NewL();
+    CleanupStack::PushL( abtbase );
+    TInt err = abtbase->DoDrawState();
+    CleanupStack::PopAndDestroy( abtbase );
+    
+    return err;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtBaseSetAllowTristateL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtBaseSetAllowTristateL( CStifItemParser& /*aItem*/ )
+    {
+    CTestButtonBase* abtbase = CTestButtonBase::NewL();
+    CleanupStack::PushL( abtbase );
+    TInt err = abtbase->DoSetAllowTristate();
+    CleanupStack::PopAndDestroy( abtbase );
+    
+    return err;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtBaseCopyDrawStateToL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtBaseCopyDrawStateToL( CStifItemParser& /*aItem*/ )
+    {
+    CEikButtonBase* btbase = new ( ELeave ) CEikButtonBase;
+    CleanupStack::PushL( btbase );
+    btbase->SetState( CEikButtonBase::ESet );
+    CTestButtonBase* abtbase = CTestButtonBase::NewL();
+    CleanupStack::PushL( abtbase );
+    TInt err = abtbase->DoCopyDrawStateTo( btbase );
+    CleanupStack::PopAndDestroy( 2 );
+    
+    return err;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtBaseOfferKeyEventL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtBaseOfferKeyEventL( CStifItemParser& /*aItem*/ )
+    {
+    CEikButtonBase* btbase = new ( ELeave ) CEikButtonBase;
+    CleanupStack::PushL( btbase );
+    TKeyEvent keyevent;
+    keyevent.iCode = EKeyDevice3;
+    btbase->OfferKeyEventL( keyevent, EEventKey );
+    CleanupStack::PopAndDestroy( btbase );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKButtons::TestCEikBtBaseInputCapabilitiesL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKButtons::TestCEikBtBaseInputCapabilitiesL( CStifItemParser& /*aItem*/ )
+    {
+    CEikButtonBase* btbase = new ( ELeave ) CEikButtonBase;
+    CleanupStack::PushL( btbase );
+    TCoeInputCapabilities ability = btbase->InputCapabilities();
+    CleanupStack::PopAndDestroy( btbase );
+    
+    return KErrNone;
+    }
+
+// End of file