diff -r bab96b7ed1a4 -r f39ed5e045e0 phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.cpp --- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.cpp Tue Jun 15 14:14:38 2010 +0100 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.cpp Thu Jul 22 16:33:21 2010 +0100 @@ -24,6 +24,7 @@ #include #include #include +#include #include "bubbletest.h" #include "bubbleimagewidget.h" @@ -37,9 +38,11 @@ void initTestCase(); void cleanupTestCase(); - void testPixmap(); - void testWidePixmap(); - void testDefaultAvatar(); + void testSetImage(); + + void testSetKeepSquareShape(); + + void testSizeHint(); private: QString fileNameWithPath(const QString& fileName); @@ -48,17 +51,9 @@ BubbleImageWidget* mImage; HbMainWindow* mMainWindow; BubbleImageManager* mImageManager; + HbIconItem* mAvatar; }; -QString ut_BubbleImageWidget::fileNameWithPath(const QString& fileName) -{ -#ifdef __WINS__ - return "c:/data/images/" + fileName; -#else - return ":/data/" + fileName; -#endif -} - void ut_BubbleImageWidget::initTestCase() { mMainWindow = new HbMainWindow(); @@ -66,6 +61,12 @@ mImage = new BubbleImageWidget(*mImageManager); mMainWindow->addView(mImage); mMainWindow->show(); + + mAvatar = qgraphicsitem_cast( + static_cast(mImage)->primitive("default_avatar")); + QVERIFY(mAvatar); + QVERIFY(mAvatar->alignment()==Qt::AlignCenter); + QVERIFY(mAvatar->aspectRatioMode()==Qt::KeepAspectRatioByExpanding); } void ut_BubbleImageWidget::cleanupTestCase() @@ -74,32 +75,41 @@ delete mImageManager; } -void ut_BubbleImageWidget::testPixmap() -{ - mImage->hide(); - mImage->setImage(fileNameWithPath("pixmap.png")); +void ut_BubbleImageWidget::testSetImage() +{ + mImage->setImage(""); + QVERIFY(mAvatar->iconName()=="qtg_large_avatar"); + QVERIFY(mAvatar->isVisible()); + + QSignalSpy spy( mImageManager, SIGNAL(pixmapReady(QString))); + mImage->setImage(":/data/pixmap.png"); + QVERIFY(mAvatar->isNull()); + QVERIFY(!mAvatar->isVisible()); + QVERIFY(spy.count()==1); + QList arguments = spy.takeFirst(); + QVERIFY(arguments.at(0).toString()==":/data/pixmap.png"); + mImage->show(); - // set same image again - QTest::qWait(500); - // there is now way to verify using public API + QTest::qWait(100); } -void ut_BubbleImageWidget::testWidePixmap() +void ut_BubbleImageWidget::testSetKeepSquareShape() { - mImage->hide(); - mImage->setImage(fileNameWithPath("pixmap_wide.png")); - mImage->show(); - QTest::qWait(500); - // there is now way to verify using public API + mImage->setKeepSquareShape(true); + QVERIFY(mImage->keepSquareShape()==true); + QVERIFY(mImage->sizePolicy().verticalPolicy()==QSizePolicy::Expanding); + QVERIFY(mImage->sizePolicy().horizontalPolicy()==QSizePolicy::Fixed); + mImage->setKeepSquareShape(false); + QVERIFY(mImage->keepSquareShape()==false); + QVERIFY(mImage->sizePolicy().verticalPolicy()==QSizePolicy::Expanding); + QVERIFY(mImage->sizePolicy().horizontalPolicy()==QSizePolicy::Expanding); } -void ut_BubbleImageWidget::testDefaultAvatar() +void ut_BubbleImageWidget::testSizeHint() { - mImage->hide(); - mImage->setImage(""); - mImage->show(); - QTest::qWait(500); - // there is now way to verify using public API + mImage->setKeepSquareShape(true); + QSizeF hint = mImage->preferredSize(); + // .. } BUBBLE_TEST_MAIN(ut_BubbleImageWidget)