diff -r bab96b7ed1a4 -r f39ed5e045e0 phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.cpp --- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.cpp Tue Jun 15 14:14:38 2010 +0100 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.cpp Thu Jul 22 16:33:21 2010 +0100 @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include "bubbletest.h" #include "bubbleheadingwidget.h" @@ -46,7 +48,14 @@ private: BubbleHeadingWidget* mHeading; HbMainWindow* mMainWindow; - int mStyleBaseId; + + HbTextItem* mText1; + HbTextItem* mText2; + HbTextItem* mText3; + + HbIconItem* mIndi1; + HbIconItem* mIndi2; + }; void ut_BubbleHeadingWidget::initTestCase() @@ -55,6 +64,23 @@ mHeading = new BubbleHeadingWidget(); mMainWindow->addView(mHeading); mMainWindow->show(); + + mText1 = qgraphicsitem_cast( + static_cast(mHeading)->primitive("text_line_1")); + QVERIFY(mText1); + mText2 = qgraphicsitem_cast( + static_cast(mHeading)->primitive("text_line_2")); + QVERIFY(mText2); + mText3 = qgraphicsitem_cast( + static_cast(mHeading)->primitive("text_line_3")); + QVERIFY(mText3); + + mIndi1 = qgraphicsitem_cast( + static_cast(mHeading)->primitive("indicator_icon_1")); + QVERIFY(mIndi1); + mIndi2 = qgraphicsitem_cast( + static_cast(mHeading)->primitive("indicator_icon_2")); + QVERIFY(mIndi2); } void ut_BubbleHeadingWidget::cleanupTestCase() @@ -70,6 +96,49 @@ void ut_BubbleHeadingWidget::testThreeLinedHeading() { + mHeading->setLineCount(3); + + BubbleHeader header; + header.setCli("John Doe",Qt::ElideRight); + header.setSecondaryCli("12345",Qt::ElideLeft); + header.setText("",Qt::ElideRight); + header.setTimerCost("0:00"); + header.setCallState(BubbleManagerIF::Active); + header.setCallFlag(BubbleManagerIF::NoCiphering); + QVERIFY(mHeading->lineCount()==3); + mHeading->readBubbleHeader(header); + mHeading->show(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="three_lines_1"); + + QVERIFY(mText1->text()=="John Doe"); + QVERIFY(mText2->text()=="12345"); + QVERIFY(mText2->alignment()&Qt::AlignLeft); + QVERIFY(mText3->text()=="0:00"); + + header.setTimerCost("0:01"); + mHeading->updateTimerDisplayNow(); + QVERIFY(mText3->text()=="0:01"); + + header.setCallState(BubbleManagerIF::Incoming); + header.setCallFlag(BubbleManagerIF::NoCiphering); + header.setCallFlag(BubbleManagerIF::Diverted); + mHeading->readBubbleHeader(header); + mHeading->show(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="three_lines_2"); + + header.setCallFlags(BubbleManagerIF::Normal); + mHeading->readBubbleHeader(header); + mHeading->show(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="three_lines"); +} + +void ut_BubbleHeadingWidget::testTwoLinedHeading() +{ + mHeading->setLineCount(2); + BubbleHeader header; header.setCli("John Doe",Qt::ElideRight); header.setSecondaryCli("12345",Qt::ElideLeft); @@ -77,34 +146,41 @@ header.setTimerCost("0:00"); header.setCallState(BubbleManagerIF::Active); header.setCallFlag(BubbleManagerIF::NoCiphering); - mHeading->setLineCount(3); - Q_ASSERT(mHeading->lineCount()==3); + QVERIFY(mHeading->lineCount()==2); mHeading->readBubbleHeader(header); mHeading->show(); - QTest::qWait(1000); - mHeading->updateTimerDisplayNow(); -} + QTest::qWait(200); + QVERIFY(mHeading->layout()=="two_lines_1"); + + QVERIFY(mText1->text()=="John Doe"); + QVERIFY(mText2->text()=="0:00"); + QVERIFY(mText2->alignment()&Qt::AlignLeft); + QVERIFY(!mText3->isVisible()); -void ut_BubbleHeadingWidget::testTwoLinedHeading() -{ - BubbleHeader header; - header.setCli("John Doe",Qt::ElideRight); - header.setSecondaryCli("12345",Qt::ElideLeft); - header.setText("",Qt::ElideRight); - header.setTimerCost("0:00"); - header.setCallState(BubbleManagerIF::Outgoing); + header.setTimerCost("0:01"); + mHeading->updateTimerDisplayNow(); + QVERIFY(mText2->text()=="0:01"); + + header.setCallState(BubbleManagerIF::Incoming); header.setCallFlag(BubbleManagerIF::NoCiphering); - - mHeading->setLineCount(2); - Q_ASSERT(mHeading->lineCount()==2); + header.setCallFlag(BubbleManagerIF::Diverted); mHeading->readBubbleHeader(header); mHeading->show(); - QTest::qWait(100); - mHeading->updateTimerDisplayNow(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="two_lines_2"); + + header.setCallFlags(BubbleManagerIF::Normal); + mHeading->readBubbleHeader(header); + mHeading->show(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="two_lines"); + } void ut_BubbleHeadingWidget::testOneLinedHeading() { + mHeading->setLineCount(1); + BubbleHeader header; header.setCli("John Doe",Qt::ElideRight); header.setSecondaryCli("12345",Qt::ElideLeft); @@ -112,14 +188,37 @@ header.setTimerCost("0:00"); header.setCallState(BubbleManagerIF::Active); header.setCallFlag(BubbleManagerIF::NoCiphering); - - mHeading->setLineCount(1); - Q_ASSERT(mHeading->lineCount()==1); - header.setCallState(BubbleManagerIF::OnHold); + QVERIFY(mHeading->lineCount()==1); mHeading->readBubbleHeader(header); mHeading->show(); - QTest::qWait(100); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="one_line_1"); + QVERIFY(mText1->text()=="John Doe"); + QVERIFY(mText2->text()=="0:00"); + QVERIFY(mText2->alignment()&Qt::AlignRight); + QVERIFY(!mText3->isVisible()); + + header.setTimerCost("0:01"); mHeading->updateTimerDisplayNow(); + QVERIFY(mText2->text()=="0:01"); + + header.setCallState(BubbleManagerIF::Incoming); + header.setCallFlag(BubbleManagerIF::NoCiphering); + header.setCallFlag(BubbleManagerIF::Diverted); + mHeading->hide(); + mHeading->readBubbleHeader(header); + mHeading->show(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="one_line_2"); + QVERIFY(mText2->alignment()&Qt::AlignRight); + + header.setCallFlags(BubbleManagerIF::Normal); + mHeading->hide(); + mHeading->readBubbleHeader(header); + mHeading->show(); + QTest::qWait(200); + QVERIFY(mHeading->layout()=="one_line"); + QVERIFY(mText2->alignment()&Qt::AlignRight); } BUBBLE_TEST_MAIN(ut_BubbleHeadingWidget)