activityfw/orbitintegration/hb/tsrc/unit/unittest_hbapplication/unittest_hbapplication/unittest_hbapplication.cpp
changeset 117 c63ee96dbe5f
equal deleted inserted replaced
115:3ab5c078b490 117:c63ee96dbe5f
       
     1 /*
       
     2 * ============================================================================
       
     3 *  Name        : unittest_hbapplication.cpp
       
     4 *  Part of     : LibHb / HbApplication
       
     5 *  Description : HbApplication unit tests
       
     6 *  Version     : %version: 4 %
       
     7 *
       
     8 *  Copyright (c) 2008-2009 Nokia.  All rights reserved.
       
     9 *  This material, including documentation and any related computer
       
    10 *  programs, is protected by copyright controlled by Nokia.  All
       
    11 *  rights are reserved.  Copying, including reproducing, storing,
       
    12 *  adapting or translating, any or all of this material requires the
       
    13 *  prior written consent of Nokia.  This material also contains
       
    14 *  confidential information which may not be disclosed to others
       
    15 *  without the prior written consent of Nokia.
       
    16 * ============================================================================
       
    17 */
       
    18 
       
    19 #include <QtTest/QtTest>
       
    20 
       
    21 #include <hbapplication.h>
       
    22 #include <hbactivitymanager.h>
       
    23 #include <hbtest.h>
       
    24 
       
    25 class TestHbApplication : public QObject
       
    26 {
       
    27     Q_OBJECT
       
    28 
       
    29 public slots:
       
    30     void cleanup();
       
    31     
       
    32 private slots:
       
    33 	void testHideSplash();
       
    34     void testActivityManager();
       
    35     void testActivityGettersForNoActivity();
       
    36     void testActivityGettersAfterActivitySignal();
       
    37 
       
    38 private:
       
    39     HbApplication *hbApp() {return qobject_cast<HbApplication*>(qApp);}
       
    40     
       
    41 };
       
    42 
       
    43 
       
    44 void TestHbApplication::cleanup()
       
    45 {
       
    46     HbActivityManager *manager = hbApp()->activityManager();
       
    47     manager->removeActivity("TestActivity1");
       
    48 }
       
    49 
       
    50 void TestHbApplication::testHideSplash()
       
    51 {
       
    52     HbApplication *app = static_cast<HbApplication *>(qApp);
       
    53     app->hideSplash();
       
    54     app->hideSplash();
       
    55 }
       
    56 
       
    57 void TestHbApplication::testActivityManager() 
       
    58 {
       
    59     QVERIFY(hbApp()->activityManager());
       
    60 }
       
    61 
       
    62 void TestHbApplication::testActivityGettersForNoActivity() 
       
    63 {
       
    64     HbApplication *app = hbApp();
       
    65     QCOMPARE(app->activateReason(), Hb::ActivationReasonNormal);
       
    66     QCOMPARE(app->activateId(), QString());
       
    67     QCOMPARE(app->activateData(), QVariant());
       
    68     QCOMPARE(app->activateParams(), QVariantHash());
       
    69 }
       
    70 
       
    71 void TestHbApplication::testActivityGettersAfterActivitySignal() 
       
    72 {
       
    73     HbApplication *app = hbApp();
       
    74     HbActivityManager *manager = app->activityManager();
       
    75     
       
    76     // our fake activity manager emits the activity singal immediately 
       
    77     // after wait, given that there is any activity added    
       
    78     QVERIFY(manager->addActivity("TestActivity1", "TestData", QVariantHash()));
       
    79     
       
    80     QSignalSpy spy(app, SIGNAL(activate()));
       
    81     QVERIFY(spy.isValid());
       
    82     
       
    83     QVERIFY(manager->waitActivity());
       
    84     QCOMPARE(spy.count(), 1);
       
    85     
       
    86     QCOMPARE(app->activateReason(), Hb::ActivationReasonActivity);
       
    87     QCOMPARE(app->activateId(), QString("TestActivity1"));
       
    88     QCOMPARE(app->activateData(), QVariant("TestData"));
       
    89 }
       
    90 
       
    91 int main(int argc, char *argv[])
       
    92 {
       
    93 #if defined(Q_OS_WIN32) || defined(Q_OS_LINUX)
       
    94     QCoreApplication::addLibraryPath("testplugins/");
       
    95 #elif defined(Q_OS_SYMBIAN)
       
    96     QCoreApplication::addLibraryPath("/resource/qt/plugins/testplugins/");
       
    97 #endif
       
    98     
       
    99     HbApplication app(argc, argv);
       
   100     TestHbApplication tc;
       
   101     int ret = QTest::qExec(&tc, argc, argv);
       
   102     QMetaObject::invokeMethod(&app, "aboutToQuit", Qt::DirectConnection);
       
   103     return ret;
       
   104 }
       
   105 
       
   106 #include "unittest_hbapplication.moc"