tests/auto/qmainwindow/tst_qmainwindow.cpp
changeset 30 5dc02b23752f
parent 18 2f34d5167611
--- a/tests/auto/qmainwindow/tst_qmainwindow.cpp	Wed Jun 23 19:07:03 2010 +0300
+++ b/tests/auto/qmainwindow/tst_qmainwindow.cpp	Tue Jul 06 15:10:48 2010 +0300
@@ -108,6 +108,7 @@
     void addToolbarAfterShow();
     void centralWidgetSize();
     void dockWidgetSize();
+    void QTBUG2774_stylechange();
 };
 
 // Testing get/set functions
@@ -1709,6 +1710,45 @@
     }
 }
 
+void tst_QMainWindow::QTBUG2774_stylechange()
+{
+
+    QMainWindow mw;
+    QDockWidget *dockw = new QDockWidget();
+    mw.addDockWidget(Qt::LeftDockWidgetArea, dockw);
+    mw.addDockWidget(Qt::LeftDockWidgetArea, new QDockWidget());
+    QTextEdit *central = new QTextEdit(&mw);
+    mw.setCentralWidget(central);
+    dockw->resize(10,10);
+    mw.show();
+    QTest::qWaitForWindowShown(&mw);
+    int centralOriginalWidth = central->width();
+
+    QVERIFY(!mw.isSeparator(QPoint(4, dockw->pos().y() + dockw->size().height() - 3)));
+    QVERIFY( mw.isSeparator(QPoint(4, dockw->pos().y() + dockw->size().height())));
+    QVERIFY(!mw.isSeparator(QPoint(4, dockw->pos().y() + dockw->size().height() + 30)));
+
+
+    {
+        QTest::qWait(1000);
+        mw.setStyleSheet("QMainWindow::separator {  width: 50px; height:50px; }");
+        QTest::qWait(5000);
+        QApplication::processEvents();
+        QVERIFY(central->width() < centralOriginalWidth);
+        QVERIFY( mw.isSeparator(QPoint(4, dockw->pos().y() + dockw->size().height())));
+        QVERIFY( mw.isSeparator(QPoint(4, dockw->pos().y() + dockw->size().height() + 49)));
+    }
+
+    {
+        mw.setStyleSheet("QMainWindow::separator {  width: 0px; height: 0px; }");
+        QApplication::processEvents();
+        QVERIFY(central->width() > centralOriginalWidth);
+        QVERIFY(!mw.isSeparator(QPoint(4, dockw->pos().y() + dockw->size().height())));
+        QVERIFY(!mw.isSeparator(QPoint(4, dockw->pos().y() + dockw->size().height() + 1)));
+    }
+}
+
+
 
 QTEST_MAIN(tst_QMainWindow)
 #include "tst_qmainwindow.moc"