diff --git a/tests/tst_common.cpp b/tests/tst_common.cpp index f9c94628..10471b51 100644 --- a/tests/tst_common.cpp +++ b/tests/tst_common.cpp @@ -73,6 +73,7 @@ private Q_SLOTS: void tst_detachFromMainWindow(); void tst_detachPos(); void tst_floatingWindowSize(); + void tst_sizeAfterRedock(); void tst_tabbingWithAffinities(); }; @@ -295,6 +296,36 @@ void TestCommon::tst_tabbingWithAffinities() delete fw2; } +void TestCommon::tst_sizeAfterRedock() +{ + EnsureTopLevelsDeleted e; + auto dw1 = new DockWidgetType(QStringLiteral("1")); + auto dw2 = new DockWidgetType(QStringLiteral("2")); + dw2->setWidget(new MyWidget("2", Qt::red)); + + dw1->addDockWidgetToContainingWindow(dw2, Location_OnBottom); + const int height2 = dw2->frame()->height(); + + dw2->setFloating(true); + QCOMPARE(height2, dw2->window()->height()); + auto oldFw2 = dw2->floatingWindow(); + + // Redock + FloatingWindow *fw1 = dw1->floatingWindow(); + DropArea *dropArea = fw1->dropArea(); + + MultiSplitter *ms1 = fw1->multiSplitter(); + const QRect suggestedDropRect = ms1->rectForDrop(oldFw2, Location_OnBottom, nullptr); + QCOMPARE(suggestedDropRect.height(), height2); + + dropArea->drop(dw2->floatingWindow(), Location_OnBottom, nullptr); + + QCOMPARE(dw2->frame()->height(), height2); + + delete dw1->window(); + delete oldFw2; +} + int main(int argc, char *argv[]) { if (!qpaPassedAsArgument(argc, argv)) { diff --git a/tests/tst_docks.cpp b/tests/tst_docks.cpp index 39579f36..383017f1 100644 --- a/tests/tst_docks.cpp +++ b/tests/tst_docks.cpp @@ -422,7 +422,6 @@ private Q_SLOTS: void tst_closeRemovesFromSideBar(); void tst_tabTitleChanges(); void tst_dockWidgetGetsFocusWhenDocked(); - void tst_sizeAfterRedock(); private: std::unique_ptr createMultiSplitterFromSetup(MultiSplitterSetup setup, QHash &frameMap) const; }; @@ -6130,36 +6129,6 @@ void TestDocks::tst_dockWidgetGetsFocusWhenDocked() delete fw2; } -void TestDocks::tst_sizeAfterRedock() -{ - EnsureTopLevelsDeleted e; - auto dw1 = new DockWidget(QStringLiteral("1")); - auto dw2 = new DockWidget(QStringLiteral("2")); - dw2->setWidget(new QWidget()); - - dw1->addDockWidgetToContainingWindow(dw2, Location_OnBottom); - const int height2 = dw2->frame()->height(); - - dw2->setFloating(true); - QCOMPARE(height2, dw2->window()->height()); - auto oldFw2 = dw2->floatingWindow(); - - // Redock - FloatingWindow *fw1 = dw1->floatingWindow(); - DropArea *dropArea = fw1->dropArea(); - - MultiSplitter *ms1 = fw1->multiSplitter(); - const QRect suggestedDropRect = ms1->rectForDrop(oldFw2, Location_OnBottom, nullptr); - QCOMPARE(suggestedDropRect.height(), height2); - - dropArea->drop(dw2->floatingWindow(), Location_OnBottom, nullptr); - - QCOMPARE(dw2->frame()->height(), height2); - - delete dw1->window(); - delete oldFw2; -} - int main(int argc, char *argv[]) { if (!qpaPassedAsArgument(argc, argv)) {