35 |
36 |
36 private slots: |
37 private slots: |
37 void initTestCase(); |
38 void initTestCase(); |
38 void cleanupTestCase(); |
39 void cleanupTestCase(); |
39 |
40 |
40 void testPixmap(); |
41 void testSetImage(); |
41 void testWidePixmap(); |
42 |
42 void testDefaultAvatar(); |
43 void testSetKeepSquareShape(); |
|
44 |
|
45 void testSizeHint(); |
43 |
46 |
44 private: |
47 private: |
45 QString fileNameWithPath(const QString& fileName); |
48 QString fileNameWithPath(const QString& fileName); |
46 |
49 |
47 private: |
50 private: |
48 BubbleImageWidget* mImage; |
51 BubbleImageWidget* mImage; |
49 HbMainWindow* mMainWindow; |
52 HbMainWindow* mMainWindow; |
50 BubbleImageManager* mImageManager; |
53 BubbleImageManager* mImageManager; |
|
54 HbIconItem* mAvatar; |
51 }; |
55 }; |
52 |
|
53 QString ut_BubbleImageWidget::fileNameWithPath(const QString& fileName) |
|
54 { |
|
55 #ifdef __WINS__ |
|
56 return "c:/data/images/" + fileName; |
|
57 #else |
|
58 return ":/data/" + fileName; |
|
59 #endif |
|
60 } |
|
61 |
56 |
62 void ut_BubbleImageWidget::initTestCase() |
57 void ut_BubbleImageWidget::initTestCase() |
63 { |
58 { |
64 mMainWindow = new HbMainWindow(); |
59 mMainWindow = new HbMainWindow(); |
65 mImageManager = new BubbleImageManager(); |
60 mImageManager = new BubbleImageManager(); |
66 mImage = new BubbleImageWidget(*mImageManager); |
61 mImage = new BubbleImageWidget(*mImageManager); |
67 mMainWindow->addView(mImage); |
62 mMainWindow->addView(mImage); |
68 mMainWindow->show(); |
63 mMainWindow->show(); |
|
64 |
|
65 mAvatar = qgraphicsitem_cast<HbIconItem*>( |
|
66 static_cast<HbWidget*>(mImage)->primitive("default_avatar")); |
|
67 QVERIFY(mAvatar); |
|
68 QVERIFY(mAvatar->alignment()==Qt::AlignCenter); |
|
69 QVERIFY(mAvatar->aspectRatioMode()==Qt::KeepAspectRatioByExpanding); |
69 } |
70 } |
70 |
71 |
71 void ut_BubbleImageWidget::cleanupTestCase() |
72 void ut_BubbleImageWidget::cleanupTestCase() |
72 { |
73 { |
73 delete mMainWindow; |
74 delete mMainWindow; |
74 delete mImageManager; |
75 delete mImageManager; |
75 } |
76 } |
76 |
77 |
77 void ut_BubbleImageWidget::testPixmap() |
78 void ut_BubbleImageWidget::testSetImage() |
78 { |
79 { |
79 mImage->hide(); |
80 mImage->setImage(""); |
80 mImage->setImage(fileNameWithPath("pixmap.png")); |
81 QVERIFY(mAvatar->iconName()=="qtg_large_avatar"); |
|
82 QVERIFY(mAvatar->isVisible()); |
|
83 |
|
84 QSignalSpy spy( mImageManager, SIGNAL(pixmapReady(QString))); |
|
85 mImage->setImage(":/data/pixmap.png"); |
|
86 QVERIFY(mAvatar->isNull()); |
|
87 QVERIFY(!mAvatar->isVisible()); |
|
88 QVERIFY(spy.count()==1); |
|
89 QList<QVariant> arguments = spy.takeFirst(); |
|
90 QVERIFY(arguments.at(0).toString()==":/data/pixmap.png"); |
|
91 |
81 mImage->show(); |
92 mImage->show(); |
82 // set same image again |
93 QTest::qWait(100); |
83 QTest::qWait(500); |
|
84 // there is now way to verify using public API |
|
85 } |
94 } |
86 |
95 |
87 void ut_BubbleImageWidget::testWidePixmap() |
96 void ut_BubbleImageWidget::testSetKeepSquareShape() |
88 { |
97 { |
89 mImage->hide(); |
98 mImage->setKeepSquareShape(true); |
90 mImage->setImage(fileNameWithPath("pixmap_wide.png")); |
99 QVERIFY(mImage->keepSquareShape()==true); |
91 mImage->show(); |
100 QVERIFY(mImage->sizePolicy().verticalPolicy()==QSizePolicy::Expanding); |
92 QTest::qWait(500); |
101 QVERIFY(mImage->sizePolicy().horizontalPolicy()==QSizePolicy::Fixed); |
93 // there is now way to verify using public API |
102 mImage->setKeepSquareShape(false); |
|
103 QVERIFY(mImage->keepSquareShape()==false); |
|
104 QVERIFY(mImage->sizePolicy().verticalPolicy()==QSizePolicy::Expanding); |
|
105 QVERIFY(mImage->sizePolicy().horizontalPolicy()==QSizePolicy::Expanding); |
94 } |
106 } |
95 |
107 |
96 void ut_BubbleImageWidget::testDefaultAvatar() |
108 void ut_BubbleImageWidget::testSizeHint() |
97 { |
109 { |
98 mImage->hide(); |
110 mImage->setKeepSquareShape(true); |
99 mImage->setImage(""); |
111 QSizeF hint = mImage->preferredSize(); |
100 mImage->show(); |
112 // .. |
101 QTest::qWait(500); |
|
102 // there is now way to verify using public API |
|
103 } |
113 } |
104 |
114 |
105 BUBBLE_TEST_MAIN(ut_BubbleImageWidget) |
115 BUBBLE_TEST_MAIN(ut_BubbleImageWidget) |
106 #include "ut_bubbleimagewidget.moc" |
116 #include "ut_bubbleimagewidget.moc" |