From 027e96757b527641fbdac3b694362e602e615e22 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Mon, 1 Dec 2014 17:54:06 -0800 Subject: [PATCH] Test all views on the toolbar Simple starting point to view testing --- src/qgcunittest/MainWindowTest.cc | 23 +++++++++++++++++------ src/qgcunittest/MainWindowTest.h | 6 +++++- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/qgcunittest/MainWindowTest.cc b/src/qgcunittest/MainWindowTest.cc index 9e757d1..0ddb908 100644 --- a/src/qgcunittest/MainWindowTest.cc +++ b/src/qgcunittest/MainWindowTest.cc @@ -27,7 +27,7 @@ /// @author Don Gagne #include "MainWindowTest.h" -#include "MainWindow.h" +#include "QGCToolBar.h" UT_REGISTER_TEST(MainWindowTest) @@ -39,19 +39,30 @@ MainWindowTest::MainWindowTest(void) void MainWindowTest::init(void) { UnitTest::init(); + + _mainWindow = MainWindow::_create(NULL, MainWindow::CUSTOM_MODE_PX4); + Q_CHECK_PTR(_mainWindow); } void MainWindowTest::cleanup(void) { + _mainWindow->close(); + delete _mainWindow; + UnitTest::cleanup(); } -void MainWindowTest::_simpleDisplay_test(void) +void MainWindowTest::_clickThrough_test(void) { - MainWindow* mainWindow = MainWindow::_create(NULL, MainWindow::CUSTOM_MODE_PX4); - Q_CHECK_PTR(mainWindow); + QGCToolBar* toolbar = _mainWindow->findChild(); + Q_ASSERT(toolbar); - mainWindow->close(); + QList buttons = toolbar->findChildren(); + foreach(QToolButton* button, buttons) { + if (!button->menu()) { + QTest::mouseClick(button, Qt::LeftButton); + QTest::qWait(1000); + } + } - delete mainWindow; } diff --git a/src/qgcunittest/MainWindowTest.h b/src/qgcunittest/MainWindowTest.h index 107a9fd..47c9c20 100644 --- a/src/qgcunittest/MainWindowTest.h +++ b/src/qgcunittest/MainWindowTest.h @@ -30,6 +30,7 @@ #define MAINWINDOWTEST_H #include "UnitTest.h" +#include "MainWindow.h" class MainWindowTest : public UnitTest { @@ -42,7 +43,10 @@ private slots: void init(void); void cleanup(void); - void _simpleDisplay_test(void); + void _clickThrough_test(void); + +private: + MainWindow* _mainWindow; }; #endif