phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.cpp
branchGCC_SURGE
changeset 51 f39ed5e045e0
parent 30 ebdbd102c78a
parent 46 bc5a64e5bc3c
--- 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)