diff -r bab96b7ed1a4 -r f39ed5e045e0 phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.cpp --- a/phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.cpp Tue Jun 15 14:14:38 2010 +0100 +++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.cpp Thu Jul 22 16:33:21 2010 +0100 @@ -24,10 +24,21 @@ #include #include #include +#include #include "bubbletest.h" #include "bubblecontainerwidget.h" +class TestBubbleContainerWidget : public BubbleContainerWidget +{ +public: + TestBubbleContainerWidget() {}; + ~TestBubbleContainerWidget() {}; + + void testMouseMove(QGraphicsSceneMouseEvent *event) + { BubbleContainerWidget::mouseMoveEvent(event); }; +}; + class ut_BubbleContainerWidget : public QObject { Q_OBJECT @@ -41,17 +52,22 @@ void testMouseMove(); private: - BubbleContainerWidget* mContainer; + TestBubbleContainerWidget* mContainer; HbMainWindow* mMainWindow; - int mStyleBaseId; }; void ut_BubbleContainerWidget::initTestCase() { mMainWindow = new HbMainWindow(); - mContainer = new BubbleContainerWidget(); + mContainer = new TestBubbleContainerWidget(); mMainWindow->addView(mContainer); mMainWindow->show(); + + HbFrameItem* frame = + qgraphicsitem_cast( + static_cast(mContainer)->primitive("background")); + QVERIFY(frame->frameDrawer().frameGraphicsName()=="qtg_fr_list_normal"); + QVERIFY(frame->isVisible()==false); } void ut_BubbleContainerWidget::cleanupTestCase() @@ -90,11 +106,36 @@ QPointF clickPos = mContainer->scenePos() + mContainer->rect().center(); QPoint windowPos = mMainWindow->mapFromScene( clickPos ); - QPoint windowPos2 = windowPos+QPoint(10,10); + + // move within + QTest::mousePress( mMainWindow->viewport(), Qt::LeftButton, 0, windowPos, 100 ); // QTest::mouseMove() doesn't work - QTest::mouseMove( mMainWindow->viewport(), windowPos2 ); - QCOMPARE( spy.count(), 0 ); + QGraphicsSceneMouseEvent moveEvent(QEvent::MouseMove); + moveEvent.setButtons(Qt::LeftButton); + moveEvent.setPos(windowPos-QPointF(1,1)); + mContainer->testMouseMove(&moveEvent); + + QTest::mouseRelease( mMainWindow->viewport(), Qt::LeftButton, 0, windowPos, 100 ); + QCOMPARE( spy.count(), 1 ); + + + // move out + QTest::mousePress( mMainWindow->viewport(), Qt::LeftButton, 0, windowPos, 100 ); + moveEvent.setPos(QPointF(-10,-10)); + mContainer->testMouseMove(&moveEvent); + + QTest::mouseRelease( mMainWindow->viewport(), Qt::LeftButton, 0, windowPos, 100 ); + QCOMPARE( spy.count(), 1 ); + + // move in + QTest::mousePress( mMainWindow->viewport(), Qt::LeftButton, 0, QPoint(1,1), 100 ); + moveEvent.setPos(QPointF(windowPos)); + mContainer->testMouseMove(&moveEvent); + + QTest::mouseRelease( mMainWindow->viewport(), Qt::LeftButton, 0, windowPos, 100 ); + QCOMPARE( spy.count(), 1 ); + } BUBBLE_TEST_MAIN(ut_BubbleContainerWidget)