activityfw/orbitintegration/hb/tsrc/unit/unittest_hbapplication/unittest_hbapplication/unittest_hbapplication.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/orbitintegration/hb/tsrc/unit/unittest_hbapplication/unittest_hbapplication/unittest_hbapplication.cpp Thu Sep 16 12:11:40 2010 +0100
@@ -0,0 +1,106 @@
+/*
+* ============================================================================
+* Name : unittest_hbapplication.cpp
+* Part of : LibHb / HbApplication
+* Description : HbApplication unit tests
+* Version : %version: 4 %
+*
+* Copyright (c) 2008-2009 Nokia. All rights reserved.
+* This material, including documentation and any related computer
+* programs, is protected by copyright controlled by Nokia. All
+* rights are reserved. Copying, including reproducing, storing,
+* adapting or translating, any or all of this material requires the
+* prior written consent of Nokia. This material also contains
+* confidential information which may not be disclosed to others
+* without the prior written consent of Nokia.
+* ============================================================================
+*/
+
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbactivitymanager.h>
+#include <hbtest.h>
+
+class TestHbApplication : public QObject
+{
+ Q_OBJECT
+
+public slots:
+ void cleanup();
+
+private slots:
+ void testHideSplash();
+ void testActivityManager();
+ void testActivityGettersForNoActivity();
+ void testActivityGettersAfterActivitySignal();
+
+private:
+ HbApplication *hbApp() {return qobject_cast<HbApplication*>(qApp);}
+
+};
+
+
+void TestHbApplication::cleanup()
+{
+ HbActivityManager *manager = hbApp()->activityManager();
+ manager->removeActivity("TestActivity1");
+}
+
+void TestHbApplication::testHideSplash()
+{
+ HbApplication *app = static_cast<HbApplication *>(qApp);
+ app->hideSplash();
+ app->hideSplash();
+}
+
+void TestHbApplication::testActivityManager()
+{
+ QVERIFY(hbApp()->activityManager());
+}
+
+void TestHbApplication::testActivityGettersForNoActivity()
+{
+ HbApplication *app = hbApp();
+ QCOMPARE(app->activateReason(), Hb::ActivationReasonNormal);
+ QCOMPARE(app->activateId(), QString());
+ QCOMPARE(app->activateData(), QVariant());
+ QCOMPARE(app->activateParams(), QVariantHash());
+}
+
+void TestHbApplication::testActivityGettersAfterActivitySignal()
+{
+ HbApplication *app = hbApp();
+ HbActivityManager *manager = app->activityManager();
+
+ // our fake activity manager emits the activity singal immediately
+ // after wait, given that there is any activity added
+ QVERIFY(manager->addActivity("TestActivity1", "TestData", QVariantHash()));
+
+ QSignalSpy spy(app, SIGNAL(activate()));
+ QVERIFY(spy.isValid());
+
+ QVERIFY(manager->waitActivity());
+ QCOMPARE(spy.count(), 1);
+
+ QCOMPARE(app->activateReason(), Hb::ActivationReasonActivity);
+ QCOMPARE(app->activateId(), QString("TestActivity1"));
+ QCOMPARE(app->activateData(), QVariant("TestData"));
+}
+
+int main(int argc, char *argv[])
+{
+#if defined(Q_OS_WIN32) || defined(Q_OS_LINUX)
+ QCoreApplication::addLibraryPath("testplugins/");
+#elif defined(Q_OS_SYMBIAN)
+ QCoreApplication::addLibraryPath("/resource/qt/plugins/testplugins/");
+#endif
+
+ HbApplication app(argc, argv);
+ TestHbApplication tc;
+ int ret = QTest::qExec(&tc, argc, argv);
+ QMetaObject::invokeMethod(&app, "aboutToQuit", Qt::DirectConnection);
+ return ret;
+}
+
+#include "unittest_hbapplication.moc"