| 893 | } |
| 894 | |
| 895 | void TestAreaOperation::checkAreaViewsDisplay(MainWindow *mw, Area *area, |
| 896 | const QString &printedAreas, int containerCount, int splitterCount, const QString& location) |
| 897 | { |
| 898 | //check area |
| 899 | AreaViewsPrinter viewsPrinter; |
| 900 | area->walkViews(viewsPrinter, area->rootIndex()); |
| 901 | QCOMPARE(viewsPrinter.result, printedAreas); |
| 902 | |
| 903 | //check mainwindow |
| 904 | QWidget *central = mw->centralWidget(); |
| 905 | QVERIFY(central != nullptr); |
| 906 | QVERIFY(central->inherits("QWidget")); |
| 907 | |
| 908 | QWidget *splitter = central->findChild<QSplitter*>(); |
| 909 | QVERIFY(splitter); |
| 910 | QVERIFY(splitter->inherits("QSplitter")); |
| 911 | |
| 912 | //check containers |
| 913 | const QList<Container*> containers = splitter->findChildren<Sublime::Container*>(); |
| 914 | QString failMsg = QStringLiteral("\nFailure while checking area contents @ %1\n" |
| 915 | "Expected %2 containers in central splitter but got %3 \n"). |
| 916 | arg(location).arg(containerCount).arg(containers.count()); |
| 917 | QVERIFY2(containers.count() == containerCount, failMsg.toLatin1().data()); |
| 918 | |
| 919 | int widgetCount = 0; |
| 920 | for (Container* c : containers) { |
| 921 | for (int i = 0; i < c->count(); ++i) |
| 922 | { |
| 923 | QVERIFY(c->widget(i) != nullptr); |
| 924 | QVERIFY(c->widget(i)->parentWidget() != nullptr); |
| 925 | } |
| 926 | widgetCount += c->count(); |
| 927 | } |
| 928 | |
| 929 | ViewCounter c; |
| 930 | area->walkViews(c, area->rootIndex()); |
| 931 | QCOMPARE(widgetCount, c.count); |
| 932 | |
| 933 | QList<QSplitter*> splitters = splitter->findChildren<QSplitter*>(); |
| 934 | splitters.append(qobject_cast<QSplitter*>(splitter)); |
| 935 | QCOMPARE(splitters.count(), splitterCount); |
| 936 | } |
| 937 | |
| 938 | /////////// |
| 939 | QTEST_MAIN(TestAreaOperation) |