gssettingsuis/Gs/tsrc/public/basic/GSFramework/MT_GSFramework.h
changeset 68 13e71d907dc3
parent 0 8c5d936e5675
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gssettingsuis/Gs/tsrc/public/basic/GSFramework/MT_GSFramework.h	Thu Nov 04 13:38:47 2010 +0800
@@ -0,0 +1,207 @@
+/*
+* 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:
+*
+*/
+
+
+#ifndef __MT_GSFRAMEWORK_H__
+#define __MT_GSFRAMEWORK_H__
+
+//  EXTERNAL INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+#include <GSTabHelper.h>
+#include <GSPluginLoader.h>
+#include <GSPubSubsListener.h>
+#include <MGSSettingPSObserver.h>
+#include <GSParentPlugin.h>
+
+//  INTERNAL INCLUDES
+#include "TestGSBaseView.h"
+
+//  FORWARD DECLARATIONS
+
+
+//  CLASS DEFINITION
+NONSHARABLE_CLASS( MT_GSFramework )
+  : public CEUnitTestSuiteClass, MGSTabbedViewOwner, MGSPluginLoadObserver, MGSSettingPSObserver
+    {
+    public:     // Constructors and destructors
+
+        /**
+         * Two phase construction
+         */
+        static MT_GSFramework* NewL();
+        static MT_GSFramework* NewLC();
+        /**
+         * Destructor
+         */
+        ~MT_GSFramework();
+
+    public:
+        // From MGSTabbedViewOwner
+      CArrayPtrFlat<CGSPluginInterface>* TabbedViews();
+      void TabChangedL( TUid selectedTabUid );
+
+      // From MGSPluginLoadObserver
+        void HandlePluginLoaded( KGSPluginLoaderStatus aStatus );
+
+        // From MGSSettingPSObserver
+        void HandleNotifyPSL( const TUid aUid,
+                              const TInt& aKey,
+                              const TRequestStatus& aStatus );
+
+
+    private:    // Constructors and destructors
+
+        MT_GSFramework();
+        void ConstructL();
+
+    private:
+    // Test setup and teardown functions
+
+    // CGSTabHelper
+         void SetupTabHelperL();
+         void TeardownTabHelper();
+
+    // CGSTabHelper test cases
+         void T_CGSTabHelper_NewLL();
+         void T_CGSTabHelper_NewLCL();
+         //~Destructor
+         void T_CGSTabHelper__CGSTabHelperL();
+         void T_CGSTabHelper_CreateTabGroupLL();
+         void T_CGSTabHelper_CreateTabGroupL2L();
+         void T_CGSTabHelper_CreateTabGroupL3L();
+         void T_CGSTabHelper_RemoveTabGroupL();
+         void T_CGSTabHelper_TabChangedLL();
+
+     // CGSParentContainer test cases
+         void SetupParentContainerL();
+         void TearDownParentContainer();
+
+         void T_CGSParentContainer_FocusChanged();
+
+     // CGSPluginLoader test cases
+         void SetupPluginLoaderL();
+         void TearDownPluginLoader();
+
+         void T_CGSPluginLoader_NewL();
+         void T_CGSPluginLoader__CGSPluginLoader();
+         void T_CGSPluginLoader_LoadAsyncL();
+         void T_CGSPluginLoader_SetObserver();
+         void T_CGSPluginLoader_AbortAsyncLoad();
+         void T_CGSPluginLoader_SortPluginsL();
+
+
+     // CGSPubSubsListener test cases
+         void SetupPubSubsListenerL();
+         void TearDownPubSubsListener();
+
+         void T_CGSPubSubsListener_NewL();
+         void T_CGSPubSubsListener__CGSPubSubsListener();
+         void T_CGSPubSubsListener_Get1();
+         void T_CGSPubSubsListener_Get2();
+         void T_CGSPubSubsListener_Get3();
+
+
+     // Empty Setup & TearDown
+         void SetupNone();
+         void TeardownNone();
+
+
+         void SetupLaunch();
+         void TeardownLaunch();
+
+     static TInt CloseTopMostWindow( TAny* aPtr );
+     void DoCloseTopMostWindowL();
+
+     void LaunchGsApp1L();
+     TBool GetKeyCodeCase1( TKeyCode& aKeyCode );
+
+     void LaunchGsApp2L();
+     TBool GetKeyCodeCase2( TKeyCode& aKeyCode );
+
+     void LaunchGsApp3L();
+     TBool GetKeyCodeCase3( TKeyCode& aKeyCode );
+
+     void LaunchGsApp4L();
+     TBool GetKeyCodeCase4( TKeyCode& aKeyCode );
+
+     static TInt SimulateKeyEvent( TAny* aPtr );
+     void DoSimulateKeyEventL();
+
+     TBool GetKeyCodeCase0( TKeyCode& aKeyCode );
+
+
+     // CGSBaseView test cases
+     void SetupCGSBaseViewL();
+     void TeardownCGSBaseView();
+     void MT_CGSBaseView_SetCurrentItemL();
+     void MT_CGSBaseView_ContainerL();
+     void MT_CGSBaseView_SetNaviPaneLL();
+     void MT_CGSBaseView_CreateNaviPaneContextLL();
+
+     // CGSParentPlugin test cases
+     void SetupCGSParentPluginL();
+     void TeardownCGSParentPlugin();
+     void MT_CGSParentPlugin_UpperLevelViewUidL();
+     void MT_CGSParentPlugin_UpdateViewL();
+     void MT_CGSParentPlugin_SetOptionFlagsL();
+     void MT_CGSParentPlugin_OptionFlagsL();
+     void MT_CGSParentPlugin_GetHelpContextL();
+     void MT_CGSParentPlugin_SelectedPluginL();
+     void MT_CGSParentPlugin_TransferDynamicPluginLL();
+
+     // CGSPluginInterface test cases
+     void MT_CGSPluginInterface_ItemTypeL();
+     void MT_CGSPluginInterface_HandleSelectionL();
+     void MT_CGSPluginInterface_PluginProviderCategoryL();
+     void MT_CGSPluginInterface_CustomOperationLL();
+     void MT_CGSPluginInterface_SetOrderL();
+     void MT_CGSPluginInterface_CreateIconLL();
+     void MT_CGSPluginInterface_GetEcomDestructorKey();
+
+
+    private:    // Data
+
+      // For CGSTabHelper
+        CGSTabHelper* iCGSTabHelper;
+      CArrayPtrFlat<CGSPluginInterface>* iPlugins;
+        CArrayPtrFlat<MGSTabbedView>* iTabbedViews;
+
+        // For CGSPluginLoader
+        CGSPluginLoader* iCGSPluginLoader;
+
+        // For CGSPubSubsListener
+        CGSPubSubsListener* iCGSPubSubsListener;
+
+        // For launching Gs application test cases
+        CPeriodic* iPeriodic;
+        TInt ikeySimulateCase;
+        TInt iKeyNumber;
+
+        // For CTestGSBaseView
+        CTestGSBaseView* iTestBaseView;
+
+        // For CGSParentPlugin
+        CGSParentPlugin* iParentPlugin;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __MT_GSFRAMEWORK_H__
+
+// End of file