--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.cpp Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,518 @@
+/*!
+* Copyright (c) 2009 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:
+*
+*/
+
+#include <QtGui>
+#include <QtTest/QtTest>
+#include <hbapplication.h>
+#include <hbtextitem.h>
+#include <hbiconitem.h>
+#include <hbpushbutton.h>
+#include <hbaction.h>
+
+#include "bubbletest.h"
+#include "bubbleutils.h"
+#include "bubbleheader.h"
+#include "bubblestyleoption.h"
+#include "bubblebuttonstyle.h"
+
+class BubbleButtonStyleMock : public BubbleButtonStyle
+{
+public:
+ BubbleButtonStyleMock() {};
+ BubbleButtonStyle::ButtonColor color() {return mButtonColor; };
+};
+
+class ut_BubbleUtils : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+
+ void test_setCallHeaderTexts3Lines_incoming();
+ void test_setCallHeaderTexts3Lines_waiting();
+ void test_setCallHeaderTexts3Lines_active();
+ void test_setCallHeaderTexts3Lines_disconnected();
+ void test_setCallHeaderTexts3Lines_outgoing();
+ void test_setCallHeaderTexts3Lines_alerting();
+ void test_setCallHeaderTexts3Lines_held();
+ void test_setCallHeaderTexts3Lines_alerttodisconnected();
+
+ void test_setCallHeaderTexts2Lines_waiting();
+ void test_setCallHeaderTexts2Lines_alerttodisconnected();
+ void test_setCallHeaderTexts2Lines_active();
+ void test_setCallHeaderTexts2Lines_held();
+ void test_setCallHeaderTexts2Lines_disconnected();
+
+ void test_compareHeaders();
+
+ void test_stylePluginNameWithPath();
+
+ void test_setButtonStyleForAction();
+
+private:
+};
+
+void ut_BubbleUtils::initTestCase()
+{
+}
+
+void ut_BubbleUtils::cleanupTestCase()
+{
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_incoming()
+{
+ // incoming call
+ BubbleHeader header;
+ BubbleStyleOption opt;
+
+ header.setCallState( BubbleManager::Incoming );
+ header.setCli( "john", Qt::ElideRight );
+ header.setText( "calling", Qt::ElideRight );
+
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "calling" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+
+ // add secondary cli
+ opt = BubbleStyleOption();
+ header.setSecondaryCli( "12345", Qt::ElideLeft );
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "12345" );
+ QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+ QVERIFY( opt.mText3 == "calling" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_waiting()
+{
+ // incoming call
+ BubbleHeader header;
+ BubbleStyleOption opt;
+
+ header.setCallState( BubbleManager::Waiting );
+ header.setCli( "john", Qt::ElideRight );
+ header.setText( "waiting", Qt::ElideRight );
+
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "waiting" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+
+ // add secondary cli
+ opt = BubbleStyleOption();
+ header.setSecondaryCli( "12345", Qt::ElideLeft );
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "12345" );
+ QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+ QVERIFY( opt.mText3 == "waiting" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_active()
+{
+ // active call
+ BubbleHeader header;
+ BubbleStyleOption opt;
+
+ header.setCallState( BubbleManager::Active );
+ header.setCli( "john", Qt::ElideRight );
+ header.setText( "", Qt::ElideRight );
+
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "" );
+ QVERIFY( opt.mText3 == "" );
+
+ // add timer
+ opt = BubbleStyleOption();
+ header.setTimerCost( "00:00" );
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "00:00" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+ header.setTimerCost( "" );
+
+ // add secondary cli
+ opt = BubbleStyleOption();
+ header.setSecondaryCli( "12345", Qt::ElideLeft );
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "12345" );
+ QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+ QVERIFY( opt.mText3 == "" );
+
+ // add timer
+ opt = BubbleStyleOption();
+ header.setTimerCost( "00:00" );
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "12345" );
+ QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+ QVERIFY( opt.mText3 == "00:00" );
+ QVERIFY( opt.mText3Clip == Qt::ElideRight );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_disconnected()
+{
+ // disconnected call
+ BubbleHeader header;
+ BubbleStyleOption opt;
+
+ header.setCallState( BubbleManager::Disconnected );
+ header.setCli( "john", Qt::ElideRight );
+ header.setText( "discon", Qt::ElideRight );
+ header.setTimerCost( "00:00" );
+
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "discon" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+
+ // add secondary cli
+ opt = BubbleStyleOption();
+ header.setSecondaryCli( "12345", Qt::ElideLeft );
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "12345" );
+ QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+ QVERIFY( opt.mText3 == "discon" );
+ QVERIFY( opt.mText3Clip == Qt::ElideRight );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_outgoing()
+{
+ // outgoing call
+ BubbleHeader header;
+ BubbleStyleOption opt;
+
+ header.setCallState( BubbleManager::Outgoing );
+ header.setCli( "john", Qt::ElideRight );
+ header.setText( "calling", Qt::ElideRight );
+
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "calling" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "john" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+
+ // add secondary cli
+ opt = BubbleStyleOption();
+ header.setSecondaryCli( "12345", Qt::ElideLeft );
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "calling" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "john" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "12345" );
+ QVERIFY( opt.mText3Clip == Qt::ElideLeft );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_alerting()
+{
+ // alerting call
+ BubbleHeader header;
+ BubbleStyleOption opt;
+
+ header.setCallState( BubbleManager::Alerting );
+ header.setCli( "john", Qt::ElideRight );
+ header.setText( "calling", Qt::ElideRight );
+
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "" );
+ QVERIFY( opt.mText3 == "" );
+
+ // add secondary cli
+ opt = BubbleStyleOption();
+ header.setSecondaryCli( "12345", Qt::ElideLeft );
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "12345" );
+ QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+ QVERIFY( opt.mText3 == "" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_held()
+{
+ // held
+ BubbleHeader header;
+ BubbleStyleOption opt;
+
+ header.setCallState( BubbleManager::OnHold );
+ header.setCli( "john", Qt::ElideRight );
+ header.setText( "on hold", Qt::ElideRight );
+ header.setTimerCost( "00:00" );
+
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "on hold" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+
+ // add secondary cli
+ opt = BubbleStyleOption();
+ header.setSecondaryCli( "12345", Qt::ElideLeft );
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "12345" );
+ QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+ QVERIFY( opt.mText3 == "on hold" );
+ QVERIFY( opt.mText3Clip == Qt::ElideRight );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_alerttodisconnected()
+{
+ // incoming call
+ BubbleHeader header;
+ BubbleStyleOption opt;
+
+ header.setCallState( BubbleManager::Incoming );
+ header.setCallState( BubbleManager::AlertToDisconnected );
+ header.setCli( "john", Qt::ElideRight );
+ header.setText( "disconnected", Qt::ElideRight );
+
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "disconnected" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+
+ // add secondary cli
+ opt = BubbleStyleOption();
+ header.setSecondaryCli( "12345", Qt::ElideLeft );
+ BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "12345" );
+ QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+ QVERIFY( opt.mText3 == "disconnected" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts2Lines_waiting()
+{
+ // waiting call
+ BubbleHeader header;
+ BubbleStyleOption opt;
+
+ header.setCallState( BubbleManager::Waiting );
+ header.setCli( "john", Qt::ElideRight );
+ header.setText( "waiting", Qt::ElideRight );
+
+ BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "waiting" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+
+ // add secondary cli
+ opt = BubbleStyleOption();
+ header.setSecondaryCli("12345",Qt::ElideLeft);
+ BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "waiting" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts2Lines_alerttodisconnected()
+{
+ // waiting call
+ BubbleHeader header;
+ BubbleStyleOption opt;
+
+ header.setCallState( BubbleManager::Waiting );
+ header.setCli( "john", Qt::ElideRight );
+ header.setText( "disconnected", Qt::ElideRight );
+
+ BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "disconnected" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+
+ // add secondary cli
+ opt = BubbleStyleOption();
+ header.setSecondaryCli("12345",Qt::ElideLeft);
+ BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "disconnected" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts2Lines_active()
+{
+ // active call
+ BubbleHeader header;
+ BubbleStyleOption opt;
+
+ header.setCallState( BubbleManager::Active );
+ header.setCli( "john", Qt::ElideRight );
+ header.setText( "", Qt::ElideRight );
+
+ BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "" );
+ QVERIFY( opt.mText3 == "" );
+
+ // add timer
+ opt = BubbleStyleOption();
+ header.setTimerCost( "00:00" );
+ BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "00:00" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts2Lines_held()
+{
+ // held
+ BubbleHeader header;
+ BubbleStyleOption opt;
+
+ header.setCallState( BubbleManager::OnHold );
+ header.setCli( "john", Qt::ElideRight );
+ header.setText( "on hold", Qt::ElideRight );
+ header.setTimerCost( "00:00" );
+
+ BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "on hold" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts2Lines_disconnected()
+{
+ // disconnected call
+ BubbleHeader header;
+ BubbleStyleOption opt;
+
+ header.setCallState( BubbleManager::Disconnected );
+ header.setCli( "john", Qt::ElideRight );
+ header.setText( "discon", Qt::ElideRight );
+ header.setTimerCost( "00:00" );
+
+ BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+ QVERIFY( opt.mText1 == "john" );
+ QVERIFY( opt.mText1Clip == Qt::ElideRight );
+ QVERIFY( opt.mText2 == "discon" );
+ QVERIFY( opt.mText2Clip == Qt::ElideRight );
+ QVERIFY( opt.mText3 == "" );
+}
+
+void ut_BubbleUtils::test_compareHeaders()
+{
+ BubbleHeader header1;
+ BubbleHeader header2;
+
+ header1.setCallState(BubbleManagerIF::Active);
+ header2.setCallState(BubbleManagerIF::Waiting);
+ QVERIFY( BubbleUtils::compareHeaders(&header1,&header2) == false );
+
+ header1.setCallState(BubbleManagerIF::Active);
+ header2.setCallState(BubbleManagerIF::OnHold);
+ QVERIFY( BubbleUtils::compareHeaders(&header1,&header2) == true );
+}
+
+void ut_BubbleUtils::test_stylePluginNameWithPath()
+{
+#if defined(Q_OS_SYMBIAN)
+ QString name(BubbleUtils::stylePluginNameWithPath("bubblestyleplugin.dll"));
+ QVERIFY(name=="z:/resource/qt/plugins/phone/bubblestyleplugin.dll");
+#elif defined(Q_OS_WIN)
+ QString name(BubbleUtils::stylePluginNameWithPath("bubblestyleplugin.dll"));
+ QVERIFY(name=="c:/hb/bin/bubblestyleplugin.dll");
+#else // Q_OS_UNIX
+ QString name(BubbleUtils::stylePluginNameWithPath("bubblestyleplugin.dll"));
+ QVERIFY(name=="/home/lib/bubblestyleplugin.dll");
+#endif
+}
+
+void ut_BubbleUtils::test_setButtonStyleForAction()
+{
+ HbPushButton button;
+ BubbleButtonStyleMock style;
+ button.setStyle(&style);
+ HbAction action;
+
+ action.setSoftKeyRole(QAction::NoSoftKey);
+ BubbleUtils::setButtonStyleForAction(button,action);
+ QVERIFY(style.color()==BubbleButtonStyle::Default);
+
+ action.setSoftKeyRole(QAction::PositiveSoftKey);
+ BubbleUtils::setButtonStyleForAction(button,action);
+ QVERIFY(style.color()==BubbleButtonStyle::Green);
+
+ action.setSoftKeyRole(QAction::NegativeSoftKey);
+ BubbleUtils::setButtonStyleForAction(button,action);
+ QVERIFY(style.color()==BubbleButtonStyle::Red);
+}
+
+BUBBLE_TEST_MAIN(ut_BubbleUtils)
+#include "ut_bubbleutils.moc"