diff options
Diffstat (limited to 'tests/ut_mwidget/ut_mwidget.cpp')
-rw-r--r-- | tests/ut_mwidget/ut_mwidget.cpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/ut_mwidget/ut_mwidget.cpp b/tests/ut_mwidget/ut_mwidget.cpp index 0ecb343b..b34237b5 100644 --- a/tests/ut_mwidget/ut_mwidget.cpp +++ b/tests/ut_mwidget/ut_mwidget.cpp @@ -23,6 +23,8 @@ #include "mpannablewidget.h" #include "mwidgetcontroller.h" #include "mondisplaychangeevent.h" +#include "mlayout.h" +#include "mlinearlayoutpolicy.h" /* ## Removing Stubs ## #include "mpannableviewport_stub.h" @@ -176,6 +178,69 @@ void Ut_MWidget::testExitedDisplay() disconnect(widget, SIGNAL(displayExited()), this, SLOT(dummySlot())); } +void Ut_MWidget::testShowHideSimple() +{ + QGraphicsScene scene; + QGraphicsView view(&scene); + + view.resize(500, 500); + view.show(); + + scene.addItem(widget); + + widget->setGeometry(10, 10, 50, 50); + + m_dummySlotCalled = false; + connect(widget, SIGNAL(displayEntered()), this, SLOT(dummySlot())); + widget->show(); + QVERIFY(m_dummySlotCalled == true); + disconnect(widget, SIGNAL(displayEntered()), this, SLOT(dummySlot())); + + m_dummySlotCalled = false; + connect(widget, SIGNAL(displayExited()), this, SLOT(dummySlot())); + widget->hide(); + QVERIFY(m_dummySlotCalled == true); + disconnect(widget, SIGNAL(displayExited()), this, SLOT(dummySlot())); + + scene.removeItem(widget); +} + +void Ut_MWidget::testShowHidePropagation() +{ + QGraphicsScene scene; + QGraphicsView view(&scene); + + view.resize(500, 500); + view.show(); + + MWidget * topLevel = new MWidget; + topLevel->setGeometry(10, 10, 50, 50); + widget->setGeometry(10, 10, 50, 50); + + MLayout layout; + MLinearLayoutPolicy policy(&layout, Qt::Vertical); + + policy.addItem(widget); + layout.setPolicy(&policy); + topLevel->setLayout(&layout); + + scene.addItem(topLevel); + + m_dummySlotCalled = false; + connect(widget, SIGNAL(displayEntered()), this, SLOT(dummySlot())); + topLevel->show(); + QVERIFY(m_dummySlotCalled == true); + disconnect(widget, SIGNAL(displayEntered()), this, SLOT(dummySlot())); + + m_dummySlotCalled = false; + connect(widget, SIGNAL(displayExited()), this, SLOT(dummySlot())); + topLevel->hide(); + QVERIFY(m_dummySlotCalled == true); + disconnect(widget, SIGNAL(displayExited()), this, SLOT(dummySlot())); + + scene.removeItem(topLevel); +} + void Ut_MWidget::dummySlot() { m_dummySlotCalled = true; |