phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.cpp
branchGCC_SURGE
changeset 51 f39ed5e045e0
parent 30 ebdbd102c78a
parent 46 bc5a64e5bc3c
--- 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 <hbmainwindow.h>
 #include <hbinstance.h>
 #include <hbstyle.h>
+#include <hbframeitem.h>
 
 #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<HbFrameItem*>(
+            static_cast<HbWidget*>(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)