--- 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 <hbmainwindow.h>
#include <hbinstance.h>
#include <hbstyle.h>
+#include <hbiconitem.h>
#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<HbIconItem*>(
+ static_cast<HbWidget*>(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<QVariant> 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)