classicui_pub/images_api/tsrc/src/testsdkimagesblocks.cpp
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/classicui_pub/images_api/tsrc/src/testsdkimagesblocks.cpp	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,489 @@
+/*
+* 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 eikimage.h
+*
+*/
+
+
+
+/*
+ *  [INCLUDE FILES]
+ */
+#include <e32svr.h>
+#include <stifparser.h>
+#include <stiftestinterface.h>
+#include <eikimage.h>
+#include <avkon.mbg>
+#include <aknutils.h>
+#include <fbs.h>
+#include <w32std.h>
+#include <testsdkimages.rsg>
+#include <barsread.h>
+#include <s32std.h>
+#include <s32mem.h>
+#include <s32file.h>
+#include <bautils.h>
+#include <f32file.h>
+#include <akniconutils.h>
+
+#include "testsdkimages.h"
+
+/*
+ * Descriptor declare
+ * */
+_LIT(KMbmFile,"\\resource\\apps\\avkon2.mbm");
+
+/** 
+ * Class CTestImage inherit from CEikImage for test 
+ * CEikImage class's protected function
+ */
+class CTestImage:public CEikImage
+    {
+    /**
+     * public function
+     */
+public:
+    /**
+     * construction
+     */
+    CTestImage()
+        {
+        
+        }
+    /**
+     * destructor
+     * */
+    ~CTestImage()
+        {
+        
+        }
+    /**
+     * This function is CEikImage's protected function,
+     * It inherit from CEikImage class
+     */ 
+    void DoWriteInternalStateL( RWriteStream& aWriteStream )
+        {
+        WriteInternalStateL( aWriteStream );
+        }
+    };
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::Delete
+// Delete here all resources allocated and opened from test methods. 
+// Called from destructor. 
+// -----------------------------------------------------------------------------
+//
+void CTestSDKIMAGES::Delete() 
+    {
+
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::RunMethodL( 
+    CStifItemParser& aItem ) 
+    {
+
+    static TStifFunctionInfo const KFunctions[] =
+        {  
+        ENTRY( "TestIMAGESConstructorL", CTestSDKIMAGES::TestIMAGESConstructorL ),
+        ENTRY( "TestIMAGESDestructorL", CTestSDKIMAGES::TestIMAGESDestructorL ),
+        ENTRY( "TestIMAGESMinimumSizeL", CTestSDKIMAGES::TestIMAGESMinimumSizeL ),
+        ENTRY( "TestIMAGESConstructFromResourceL", CTestSDKIMAGES::TestIMAGESConstructFromResourceL ),
+        ENTRY( "TestIMAGESCreatePictureFromFileL", CTestSDKIMAGES::TestIMAGESCreatePictureFromFileL ),
+        ENTRY( "TestIMAGESSetPictureL", CTestSDKIMAGES::TestIMAGESSetPictureL ),
+        ENTRY( "TestIMAGESSetEmphasisL", CTestSDKIMAGES::TestIMAGESSetEmphasisL ),
+        ENTRY( "TestIMAGESSetPictureOwnedExternallyL", CTestSDKIMAGES::TestIMAGESSetPictureOwnedExternallyL ),
+        ENTRY( "TestIMAGESBitmapL", CTestSDKIMAGES::TestIMAGESBitmapL ),
+        ENTRY( "TestIMAGESMaskL", CTestSDKIMAGES::TestIMAGESMaskL ),
+        ENTRY( "TestIMAGESSetBitmapL", CTestSDKIMAGES::TestIMAGESSetBitmapL ),
+        ENTRY( "TestIMAGESSetMaskL", CTestSDKIMAGES::TestIMAGESSetMaskL ),
+        ENTRY( "TestIMAGESSetNewBitmapsL", CTestSDKIMAGES::TestIMAGESSetNewBitmapsL ),
+        ENTRY( "TestIMAGESIsPictureOwnedExternallyL", CTestSDKIMAGES::TestIMAGESIsPictureOwnedExternallyL ),
+        ENTRY( "TestIMAGESSetBrushStyleL", CTestSDKIMAGES::TestIMAGESSetBrushStyleL ),
+        ENTRY( "TestIMAGESHandlePointerEventL", CTestSDKIMAGES::TestIMAGESHandlePointerEventL ),
+        ENTRY( "TestIMAGESWriteInternalStateL", CTestSDKIMAGES::TestIMAGESWriteInternalStateL ),
+
+        };
+
+    const TInt count = sizeof( KFunctions ) / sizeof( TStifFunctionInfo );
+
+    return RunInternalL( KFunctions, count, aItem );
+
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESConstructorL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESConstructorL( CStifItemParser& /*aItem*/ )
+    {
+    CEikImage *sampleimage = new( ELeave ) CEikImage;
+    CleanupStack::PushL( sampleimage );
+    STIF_ASSERT_NOT_NULL( sampleimage );
+    CleanupStack::PopAndDestroy( sampleimage );
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESDestructorL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESDestructorL( CStifItemParser& /*aItem*/ )
+    {
+    CEikImage *sampleimage = new( ELeave ) CEikImage;
+    CleanupStack::PushL( sampleimage );
+    CleanupStack::Pop( sampleimage );
+    delete sampleimage;
+
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESMinimumSizeL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESMinimumSizeL( CStifItemParser& /*aItem*/ )
+    {
+    CEikImage *sampleimage = new( ELeave ) CEikImage;
+    CleanupStack::PushL( sampleimage );
+    TSize sizezero( 0, 0 );
+    TSize returnsize;
+    returnsize = sampleimage->MinimumSize();
+    STIF_ASSERT_EQUALS( sizezero, returnsize );
+
+    TFileName file( KMbmFile );
+    User::LeaveIfError( CompleteWithAppPath( file ) );
+    CFbsBitmap* main = NULL;
+    CFbsBitmap* mask = NULL;
+    AknIconUtils::CreateIconL( main, mask, file, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+    CleanupStack::PushL( mask );
+    
+    sampleimage->SetBitmap( main );
+    returnsize = sizezero;
+    returnsize = sampleimage->MinimumSize();
+    STIF_ASSERT_NOT_EQUALS( &sizezero, &returnsize );
+    
+    CleanupStack::PopAndDestroy( mask );
+    CleanupStack::PopAndDestroy( sampleimage );
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESConstructFromResourceL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESConstructFromResourceL( CStifItemParser& /*aItem*/ )
+    {
+    CEikImage* sampleimage = new( ELeave ) CEikImage;
+    CleanupStack::PushL( sampleimage );
+    TResourceReader reader;
+    CCoeEnv::Static()->CreateResourceReaderLC( reader, R_IMAGE );
+    sampleimage->ConstructFromResourceL( reader );
+    CleanupStack::PopAndDestroy();
+    
+    const CFbsBitmap* returnbitmap( NULL );
+    const CFbsBitmap* returnbitmapmask( NULL );
+    returnbitmap = sampleimage->Bitmap();
+    returnbitmapmask = sampleimage->Mask();
+    STIF_ASSERT_NOT_NULL( returnbitmap );
+    STIF_ASSERT_NOT_NULL( returnbitmapmask );
+    
+    CleanupStack::PopAndDestroy( sampleimage );
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESCreatePictureFromFileL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESCreatePictureFromFileL( CStifItemParser& /*aItem*/ )
+    {
+    CEikImage* sampleimage = new( ELeave ) CEikImage;
+    CleanupStack::PushL( sampleimage );
+    sampleimage->CreatePictureFromFileL( KMbmFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask  );
+    
+    const CFbsBitmap* returnbitmap( NULL );
+    const CFbsBitmap* returnbitmapmask( NULL );
+    returnbitmap = sampleimage->Bitmap();
+    returnbitmapmask = sampleimage->Mask();
+    STIF_ASSERT_NOT_NULL( returnbitmap );
+    STIF_ASSERT_NOT_NULL( returnbitmapmask );
+    
+    returnbitmap = NULL;
+    sampleimage->CreatePictureFromFileL( KMbmFile, EMbmAvkonQgn_indi_mic_mask );
+    returnbitmap = sampleimage->Bitmap();
+    STIF_ASSERT_NOT_NULL( returnbitmap );
+    
+    CleanupStack::PopAndDestroy( sampleimage );
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESSetPictureL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESSetPictureL( CStifItemParser& /*aItem*/ )
+    {
+    TFileName file( KMbmFile );
+    User::LeaveIfError( CompleteWithAppPath( file )); 
+    
+    CFbsBitmap* bitmap = NULL;
+    CFbsBitmap* bitmapmask = NULL;
+    AknIconUtils::CreateIconL( bitmap, bitmapmask, file, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+        
+    CEikImage* sampleimage = new ( ELeave ) CEikImage;
+    CleanupStack::PushL( sampleimage );
+    sampleimage->SetPicture( bitmap, bitmapmask );
+    
+    const CFbsBitmap* returnbitmap;
+    const CFbsBitmap* returnbitmapmask;
+    returnbitmap = sampleimage->Bitmap();
+    returnbitmapmask = sampleimage->Mask();
+    STIF_ASSERT_EQUALS( bitmap, (CFbsBitmap*)returnbitmap );
+    STIF_ASSERT_EQUALS( bitmapmask, CONST_CAST(CFbsBitmap*,returnbitmapmask ) );
+    
+    returnbitmap = NULL;
+    returnbitmapmask = NULL;
+    sampleimage->SetPicture( bitmap, bitmap );
+    
+    returnbitmap = sampleimage->Bitmap();
+    returnbitmapmask = sampleimage->Mask();
+    STIF_ASSERT_EQUALS( bitmap, (CFbsBitmap*)returnbitmap );
+    STIF_ASSERT_EQUALS( bitmap, (CFbsBitmap*)returnbitmapmask );
+    STIF_ASSERT_EQUALS( returnbitmap, returnbitmapmask );
+    
+    CleanupStack::Pop( sampleimage );
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESSetEmphasisL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESSetEmphasisL( CStifItemParser& /*aItem*/ )
+    {
+    CEikImage* sampleimage = new( ELeave ) CEikImage;
+    CleanupStack::PushL( sampleimage );
+    TBool value( ETrue );
+    sampleimage->SetEmphasis( value );
+    value = EFalse;
+    sampleimage->SetEmphasis( value );
+    CleanupStack::PopAndDestroy( sampleimage );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESSetPictureOwnedExternallyL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESSetPictureOwnedExternallyL( CStifItemParser& /*aItem*/ )
+    {
+    CEikImage* sampleimage = new( ELeave ) CEikImage;
+    CleanupStack::PushL( sampleimage );
+    TBool value( ETrue );
+    sampleimage->SetPictureOwnedExternally( value );
+    value = EFalse;
+    sampleimage->SetPictureOwnedExternally( value );
+    CleanupStack::PopAndDestroy( sampleimage );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESBitmapL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESBitmapL( CStifItemParser& aItem )
+    {
+    TInt err( KErrNone );
+    err = TestIMAGESSetBitmapL( aItem );
+    return err;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESMaskL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESMaskL( CStifItemParser& aItem )
+    {
+    TInt err( KErrNone );
+    err = TestIMAGESSetNewBitmapsL( aItem );
+    return err;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESSetBitmapL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESSetBitmapL( CStifItemParser& /*aItem*/ )
+    {
+    TFileName file( KMbmFile );
+    User::LeaveIfError( CompleteWithAppPath( file ) ); 
+    CFbsBitmap* bitmap = NULL;
+    CFbsBitmap* bitmapmask = NULL;
+    AknIconUtils::CreateIconL( bitmap, bitmapmask, file, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+    CleanupStack::PushL( bitmap );
+    CleanupStack::PushL( bitmapmask );
+    
+    CEikImage* sampleimage = new( ELeave ) CEikImage;
+    CleanupStack::PushL( sampleimage );
+
+    sampleimage->SetBitmap( bitmap );
+    const CFbsBitmap* returnbitmap;
+    returnbitmap = sampleimage->Bitmap();
+    STIF_ASSERT_EQUALS( bitmap, (CFbsBitmap*)returnbitmap );
+    
+    
+    CFbsBitmap* newbitmap = NULL;
+    CFbsBitmap* newbitmapmask = NULL;
+    AknIconUtils::CreateIconL( newbitmap, newbitmapmask, file, 
+        EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+    CleanupStack::PushL( newbitmap );
+    CleanupStack::PushL( newbitmapmask );
+    sampleimage->SetNewBitmaps( newbitmap, newbitmapmask );
+    CleanupStack::Pop( newbitmapmask );
+    CleanupStack::Pop( newbitmap );
+    
+    CleanupStack::PopAndDestroy( sampleimage );
+    CleanupStack::PopAndDestroy( bitmapmask );
+    CleanupStack::Pop( bitmap );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESSetMaskL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESSetMaskL( CStifItemParser& /*aItem*/ )
+    {
+    TFileName file( KMbmFile );
+    User::LeaveIfError( CompleteWithAppPath( file ) ); 
+    CFbsBitmap* bitmap = NULL;
+    CFbsBitmap* bitmapmask = NULL;
+    AknIconUtils::CreateIconL( bitmap, bitmapmask, file, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask );
+    CleanupStack::PushL( bitmap );
+        
+    CEikImage* sampleimage = new( ELeave ) CEikImage;
+    CleanupStack::PushL( sampleimage );
+
+    sampleimage->SetMask( bitmapmask );
+    const CFbsBitmap* returnbitmap;
+    returnbitmap = sampleimage->Mask();
+    STIF_ASSERT_EQUALS( bitmapmask, (CFbsBitmap*)returnbitmap );
+    
+    CleanupStack::PopAndDestroy( sampleimage );
+    CleanupStack::Pop( bitmap );
+    
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESSetNewBitmapsL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESSetNewBitmapsL( CStifItemParser& aItem )
+    {
+    TInt err(KErrNone);
+    err = TestIMAGESSetPictureL( aItem );
+    
+    return err;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESIsPictureOwnedExternallyL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESIsPictureOwnedExternallyL( CStifItemParser& /*aItem*/ )
+    {
+    CEikImage* sampleimage = new( ELeave ) CEikImage;
+    CleanupStack::PushL( sampleimage );
+    sampleimage->SetEmphasis( ETrue );
+    TBool flag( ETrue );
+    flag = sampleimage->IsPictureOwnedExternally();
+    STIF_ASSERT_FALSE( flag );
+    sampleimage->SetPictureOwnedExternally( ETrue );
+    flag = sampleimage->IsPictureOwnedExternally();
+    STIF_ASSERT_TRUE( flag );
+    CleanupStack::PopAndDestroy( sampleimage );
+	
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESSetBrushStyleL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESSetBrushStyleL( CStifItemParser& /*aItem*/ )
+    {
+    CEikImage* sampleimage = new( ELeave ) CEikImage;
+    CleanupStack::PushL( sampleimage );
+    sampleimage->SetBrushStyle( CGraphicsContext::ESolidBrush );
+
+    CleanupStack::PopAndDestroy( sampleimage );
+    return KErrNone;
+    }
+
+TInt CTestSDKIMAGES::TestIMAGESHandlePointerEventL( CStifItemParser& /*aItem*/ )
+    {
+    CEikImage* sampleimage = new( ELeave ) CEikImage;
+    CleanupStack::PushL( sampleimage );
+    
+    TPointerEvent event;
+    event.iType = TPointerEvent::EButton1Down;
+    event.iModifiers = 0;
+    TPoint eventPos( 10, 30 );
+    event.iPosition = eventPos;
+    event.iParentPosition = eventPos;
+    TInt err = KErrNone;
+    TRAP( err, sampleimage->HandlePointerEventL( event ) );
+    
+    CleanupStack::PopAndDestroy( sampleimage );
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CTestSDKIMAGES::TestIMAGESSetBrushStyleL
+// -----------------------------------------------------------------------------
+//
+TInt CTestSDKIMAGES::TestIMAGESWriteInternalStateL( CStifItemParser& /*aItem*/ )
+    {
+    CTestImage* testimage = new( ELeave ) CTestImage;
+    CleanupStack::PushL( testimage );
+    const TInt KHBufSize = 4096;
+    HBufC8* buf = HBufC8::NewL( KHBufSize );
+    CleanupStack::PushL( buf );
+    TPtr8 ptr = buf->Des();
+    RDesWriteStream stream;
+    CleanupClosePushL( stream );
+    stream.Open( ptr );
+    testimage->DoWriteInternalStateL( stream );
+    stream.CommitL();
+    stream.Close();
+    CleanupStack::PopAndDestroy( 3 );//testimage, buf, stream
+    
+    return KErrNone;
+    }
+
+//End file
+
+
+