idlefw/tsrc/sapidataplugin/ut_sapidataplugin/ut_sapidataplugin.cpp
branchRCL_3
changeset 28 053c6c7c14f3
equal deleted inserted replaced
27:2c7f27287390 28:053c6c7c14f3
       
     1 /*
       
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: unit test for the mcsplugin handler
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 //  CLASS HEADER
       
    20 #include "ut_sapidataplugin.h"
       
    21 
       
    22 
       
    23 //  EXTERNAL INCLUDES
       
    24 #include <digia/eunit/eunitmacros.h>
       
    25 #include <e32cmn.h>
       
    26 #include <aiutility.h>
       
    27 #include <aipluginsettings.h>
       
    28 
       
    29 //  INTERNAL INCLUDES
       
    30 #include "sapidata.h"
       
    31 #include "sapidataobserver.h"
       
    32 #include "sapidataplugin.h"
       
    33 #include "sapidatapluginconst.h"
       
    34 #include "observer.h"
       
    35 
       
    36 
       
    37 _LIT( KTest, "TEST" );
       
    38 _LIT( KUpdate, "update" );
       
    39 // CONSTRUCTION
       
    40 
       
    41 // ---------------------------------------------------------------------------
       
    42 //
       
    43 // ---------------------------------------------------------------------------
       
    44 //
       
    45 UT_SapiDataPlugin* UT_SapiDataPlugin::NewL()
       
    46     {
       
    47     UT_SapiDataPlugin* self = UT_SapiDataPlugin::NewLC();
       
    48     CleanupStack::Pop();
       
    49 
       
    50     return self;
       
    51     }
       
    52 
       
    53 // ---------------------------------------------------------------------------
       
    54 //
       
    55 // ---------------------------------------------------------------------------
       
    56 //
       
    57 UT_SapiDataPlugin* UT_SapiDataPlugin::NewLC()
       
    58     {
       
    59     UT_SapiDataPlugin* self = new(ELeave) UT_SapiDataPlugin();
       
    60     CleanupStack::PushL(self);
       
    61 
       
    62     self->ConstructL();
       
    63 
       
    64     return self;
       
    65     }
       
    66 
       
    67 // ---------------------------------------------------------------------------
       
    68 // Destructor (virtual by CBase)
       
    69 // ---------------------------------------------------------------------------
       
    70 //
       
    71 UT_SapiDataPlugin::~UT_SapiDataPlugin()
       
    72     {
       
    73 
       
    74     }
       
    75 
       
    76 // ---------------------------------------------------------------------------
       
    77 // Default constructor
       
    78 // ---------------------------------------------------------------------------
       
    79 //
       
    80 UT_SapiDataPlugin::UT_SapiDataPlugin()
       
    81     {
       
    82 
       
    83     }
       
    84 
       
    85 // ---------------------------------------------------------------------------
       
    86 // Second phase construct
       
    87 // ---------------------------------------------------------------------------
       
    88 //
       
    89 void UT_SapiDataPlugin::ConstructL()
       
    90     {
       
    91     // The ConstructL from the base class CEUnitTestSuiteClass must be called.
       
    92     // It generates the test case table.
       
    93     CEUnitTestSuiteClass::ConstructL();
       
    94     }
       
    95 
       
    96 // ---------------------------------------------------------------------------
       
    97 // void UT_SapiDataPlugin::Teardown()
       
    98 // ---------------------------------------------------------------------------
       
    99 //
       
   100 void UT_SapiDataPlugin::Teardown()
       
   101     {
       
   102     if ( iPlugin )
       
   103         {
       
   104         delete iPlugin;
       
   105         iPlugin = NULL;
       
   106         }
       
   107     if ( iObserver )
       
   108         {
       
   109         delete iObserver;
       
   110         iObserver = NULL;
       
   111         }
       
   112     }
       
   113 
       
   114 // ---------------------------------------------------------------------------
       
   115 // 
       
   116 // ---------------------------------------------------------------------------
       
   117 void UT_SapiDataPlugin::UT_SapiDataPlugin_Data()
       
   118     {
       
   119     iData = iPlugin->Data();
       
   120     EUNIT_ASSERT( iData );  
       
   121     }
       
   122 
       
   123 // ---------------------------------------------------------------------------
       
   124 // 
       
   125 // ---------------------------------------------------------------------------
       
   126 void UT_SapiDataPlugin::SetupL()
       
   127     {
       
   128     iPlugin = CSapiDataPlugin::NewL();
       
   129 
       
   130     RAiSettingsItemArray settings;
       
   131     MAiPluginSettings* setting = AiUtility::CreatePluginSettingsL();
       
   132 
       
   133     CleanupDeletePushL( setting );
       
   134     MAiPluginContentItem& item = setting->AiPluginContentItem();
       
   135     item.SetTypeL( _L( "image" ) );
       
   136     item.SetNameL( _L( "widget/icon" ) );
       
   137     settings.AppendL( setting );
       
   138     CleanupStack::Pop( setting );
       
   139 
       
   140     MAiPluginSettings* setting1 = AiUtility::CreatePluginSettingsL();
       
   141     CleanupDeletePushL( setting1 );
       
   142     MAiPluginContentItem& item1 = setting1->AiPluginContentItem();
       
   143     item1.SetTypeL( _L( "image" ) );
       
   144     item1.SetNameL( _L( "widget/icon" ) );
       
   145     settings.AppendL( setting1 );
       
   146     CleanupStack::Pop( setting1 );
       
   147 
       
   148     MAiPluginSettings* setting2 = AiUtility::CreatePluginSettingsL();
       
   149     CleanupDeletePushL( setting2 );
       
   150     MAiPluginContentItem& item2 = setting2->AiPluginContentItem();
       
   151     item2.SetTypeL( _L( "text" ) );
       
   152     item2.SetNameL( _L( "widget/longname" ) );
       
   153     settings.AppendL( setting2 );
       
   154     CleanupStack::Pop( setting2 );
       
   155 
       
   156     MAiPluginSettings* setting3 = AiUtility::CreatePluginSettingsL();
       
   157     CleanupDeletePushL( setting3 );
       
   158     MAiPluginConfigurationItem& item3 = setting3->AiPluginConfigurationItem();
       
   159     item3.SetOwnerL( _L( "plugin" ) );
       
   160     item3.SetNameL( _L( "publisher" ));
       
   161     item3.SetValueL( _L( "TEST" ) );
       
   162     settings.AppendL( setting3 );
       
   163     CleanupStack::Pop( setting3 );
       
   164 
       
   165     TRAPD( err, iPlugin->ConfigureL( settings ) );
       
   166     EUNIT_ASSERT_EQUALS(err, KErrNone);
       
   167 
       
   168     iPlugin->Start( CHsContentPublisher::ESystemStartup );
       
   169     iPlugin->Resume( CHsContentPublisher::EForeground );
       
   170     }
       
   171 
       
   172 // ---------------------------------------------------------------------------
       
   173 // 
       
   174 // ---------------------------------------------------------------------------
       
   175 void UT_SapiDataPlugin::UT_SapiDataPlugin_GetTypeL()
       
   176     {
       
   177     MAiPluginSettings* setting4 = AiUtility::CreatePluginSettingsL();
       
   178     CleanupDeletePushL( setting4 );
       
   179     MAiPluginContentItem& item4 = setting4->AiPluginContentItem();
       
   180     item4.SetTypeL( _L( "text" ) );
       
   181     item4.SetNameL( _L( "widget/longname" ) );
       
   182 
       
   183     HBufC* objectId = item4.Name().AllocLC();
       
   184     objectId->Des().Delete(0, objectId->LocateReverse(KPluginNameSeprator) + 1);
       
   185 
       
   186     HBufC* type = iPlugin->GetTypeL( *objectId ).AllocLC();
       
   187     EUNIT_ASSERT_EQUALS( type != KNullDesC(), ETrue )
       
   188 
       
   189     CleanupStack::PopAndDestroy( type );
       
   190     CleanupStack::PopAndDestroy( objectId );
       
   191     CleanupStack::PopAndDestroy( setting4 );
       
   192     }
       
   193 
       
   194 // ---------------------------------------------------------------------------
       
   195 // 
       
   196 // ---------------------------------------------------------------------------
       
   197 void UT_SapiDataPlugin::UT_SapiDataPlugin_GetIdL()
       
   198     {
       
   199     MAiPluginSettings* setting4 = AiUtility::CreatePluginSettingsL();
       
   200     CleanupDeletePushL( setting4 );
       
   201     MAiPluginContentItem& item4 = setting4->AiPluginContentItem();
       
   202     item4.SetTypeL( _L( "text" ) );
       
   203     item4.SetNameL( _L( "widget/longname" ) );
       
   204 
       
   205     HBufC* objectId = item4.Name().AllocLC();
       
   206     objectId->Des().Delete(0, objectId->LocateReverse(KPluginNameSeprator) + 1);
       
   207 
       
   208     TInt id = iPlugin->GetIdL( *objectId );
       
   209     EUNIT_ASSERT_EQUALS( id != KErrNotFound, ETrue );
       
   210 
       
   211     CleanupStack::PopAndDestroy( objectId );
       
   212     CleanupStack::PopAndDestroy( setting4 );
       
   213     }
       
   214 
       
   215 // ---------------------------------------------------------------------------
       
   216 // 
       
   217 // ---------------------------------------------------------------------------
       
   218 void UT_SapiDataPlugin::UT_SapiDataPlugin_Resume()
       
   219     {
       
   220     EUNIT_ASSERT( iPlugin->IsActive() );    
       
   221     }
       
   222 
       
   223 // ---------------------------------------------------------------------------
       
   224 // 
       
   225 // ---------------------------------------------------------------------------
       
   226 void UT_SapiDataPlugin::UT_SapiDataPlugin_NetworkStatus()
       
   227     {
       
   228     iPlugin->SetOnline();    
       
   229     CSapiDataPlugin::TPluginNetworkStatus networkStatus = 
       
   230         iPlugin->NetworkStatus();
       
   231     EUNIT_ASSERT_EQUALS( networkStatus == CSapiDataPlugin::EOnline, ETrue );
       
   232 
       
   233     iPlugin->SetOffline();
       
   234     networkStatus = iPlugin->NetworkStatus();
       
   235     EUNIT_ASSERT_EQUALS( networkStatus == CSapiDataPlugin::EOffline, ETrue );
       
   236     }
       
   237 
       
   238 // ---------------------------------------------------------------------------
       
   239 // 
       
   240 // ---------------------------------------------------------------------------
       
   241 void UT_SapiDataPlugin::UT_SapiDataPlugin_GetProperty()
       
   242     {
       
   243     TAny* anyPtr = iPlugin->GetProperty( CSapiDataPlugin::EPublisherContent );
       
   244     MAiContentItemIterator* iter = 
       
   245         static_cast<MAiContentItemIterator*>( anyPtr);
       
   246     EUNIT_ASSERT( iter );
       
   247     }
       
   248 
       
   249 // ---------------------------------------------------------------------------
       
   250 // 
       
   251 // ---------------------------------------------------------------------------
       
   252 void UT_SapiDataPlugin::UT_SapiDataPlugin_HasMenuItem()
       
   253     {
       
   254     TBool res = iPlugin->HasMenuItem( KTest );
       
   255     EUNIT_ASSERT( res == EFalse );
       
   256     }
       
   257 
       
   258 // ---------------------------------------------------------------------------
       
   259 // 
       
   260 // ---------------------------------------------------------------------------
       
   261 void UT_SapiDataPlugin::UT_SapiDataPlugin_Clean()
       
   262     {
       
   263     iObserver = Observer::NewL();
       
   264     TInt id = 1;
       
   265 
       
   266     iPlugin->SubscribeL( *iObserver );
       
   267     EUNIT_ASSERT_NO_LEAVE( iPlugin->Clean( iObserver, id ) );
       
   268     }
       
   269 
       
   270 //  TEST TABLE
       
   271 
       
   272 
       
   273 EUNIT_BEGIN_TEST_TABLE
       
   274     (
       
   275     UT_SapiDataPlugin,
       
   276     "Sapidata plugin tests",
       
   277     "UNIT"
       
   278     )
       
   279 
       
   280 EUNIT_TEST
       
   281     (
       
   282     "Data",
       
   283     "CSapiDataPlugin",
       
   284     "Data",
       
   285     "FUNCTIONALITY",
       
   286     SetupL, UT_SapiDataPlugin_Data, Teardown
       
   287     )
       
   288 
       
   289 EUNIT_TEST
       
   290     (
       
   291     "Resume",
       
   292     "CSapiDataPlugin",
       
   293     "Resume",
       
   294     "FUNCTIONALITY",
       
   295     SetupL, UT_SapiDataPlugin_Resume, Teardown
       
   296     )
       
   297 
       
   298 EUNIT_TEST
       
   299     (
       
   300     "GetTypeL",
       
   301     "CSapiDataPlugin",
       
   302     "GetTypeL",
       
   303     "FUNCTIONALITY",
       
   304     SetupL, UT_SapiDataPlugin_GetTypeL, Teardown
       
   305     )
       
   306 
       
   307 EUNIT_TEST
       
   308     (
       
   309     "GetIdL",
       
   310     "CSapiDataPlugin",
       
   311     "GetIdL",
       
   312     "FUNCTIONALITY",
       
   313     SetupL, UT_SapiDataPlugin_GetIdL, Teardown
       
   314     )
       
   315 
       
   316 EUNIT_TEST
       
   317     (
       
   318     "NetworkStatus",
       
   319     "CSapiDataPlugin",
       
   320     "NetworkStatus",
       
   321     "FUNCTIONALITY",
       
   322     SetupL, UT_SapiDataPlugin_NetworkStatus, Teardown
       
   323     )
       
   324 
       
   325 EUNIT_TEST
       
   326     (
       
   327     "GetProperty",
       
   328     "CSapiDataPlugin",
       
   329     "GetProperty",
       
   330     "FUNCTIONALITY",
       
   331     SetupL, UT_SapiDataPlugin_GetProperty, Teardown
       
   332     )
       
   333 
       
   334 EUNIT_TEST
       
   335     (
       
   336     "HasMenuItem",
       
   337     "CSapiDataPlugin",
       
   338     "HasMenuItem",
       
   339     "FUNCTIONALITY",
       
   340     SetupL, UT_SapiDataPlugin_HasMenuItem, Teardown
       
   341     )
       
   342     
       
   343 EUNIT_TEST
       
   344     (
       
   345     "Clean",
       
   346     "CSapiDataPlugin",
       
   347     "Clean",
       
   348     "FUNCTIONALITY",
       
   349     SetupL, UT_SapiDataPlugin_Clean, Teardown
       
   350     )   
       
   351     
       
   352 EUNIT_END_TEST_TABLE
       
   353 
       
   354 //  END OF FILE