mirror of
https://github.com/august-alt/gpui.git
synced 2025-01-05 17:17:41 +03:00
tests: add tests for drives
This commit is contained in:
parent
f73d6f0191
commit
fdd762d0be
28
tests/auto/plugins/preferences/drives/CMakeLists.txt
Normal file
28
tests/auto/plugins/preferences/drives/CMakeLists.txt
Normal file
@ -0,0 +1,28 @@
|
||||
find_package(Qt5 COMPONENTS Core Gui Widgets Test REQUIRED)
|
||||
|
||||
find_package(XercesC REQUIRED)
|
||||
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
set(SOURCES
|
||||
driveswidgettest.cpp
|
||||
../../../../../src/plugins/preferences/drives/driveswidget.cpp
|
||||
../../../../../src/plugins/preferences/drives/drivesschema.cpp
|
||||
../../../../../src/plugins/preferences/drives/modelbuilder.cpp
|
||||
)
|
||||
|
||||
set(UI_FORMS
|
||||
../../../../../src/plugins/preferences/drives/driveswidget.ui
|
||||
)
|
||||
|
||||
set(MOC_HEADERS
|
||||
driveswidgettest.h
|
||||
../../../../../src/plugins/preferences/drives/driveswidget.h
|
||||
)
|
||||
|
||||
qt5_wrap_ui(UI_SOURCES ${UI_FORMS})
|
||||
qt5_wrap_cpp(MOC_SOURCES ${MOC_HEADERS})
|
||||
|
||||
add_executable(driveswidgettest ${SOURCES} ${MOC_SOURCES} ${UI_SOURCES})
|
||||
target_link_libraries(driveswidgettest ${GPUI_LIBRARIES} drives-plugin Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Test XercesC::XercesC)
|
||||
add_gpui_test(plugins.driveswidgettest driveswidgettest)
|
60
tests/auto/plugins/preferences/drives/driveswidgettest.cpp
Normal file
60
tests/auto/plugins/preferences/drives/driveswidgettest.cpp
Normal file
@ -0,0 +1,60 @@
|
||||
/***********************************************************************************************************************
|
||||
**
|
||||
** Copyright (C) 2021 BaseALT Ltd. <org@basealt.ru>
|
||||
**
|
||||
** This program is free software; you can redistribute it and/or
|
||||
** modify it under the terms of the GNU General Public License
|
||||
** as published by the Free Software Foundation; either version 2
|
||||
** of the License, or (at your option) any later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program; if not, write to the Free Software
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
**
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#include "driveswidgettest.h"
|
||||
|
||||
#include <fstream>
|
||||
|
||||
#include "../../../../../src/plugins/preferences/drives/modelbuilder.h"
|
||||
#include "../../../../../src/plugins/preferences/drives/driveroles.h"
|
||||
#include "../../../../../src/plugins/preferences/drives/drivesschema.h"
|
||||
#include "../../../../../src/plugins/preferences/drives/driveswidget.h"
|
||||
|
||||
const std::string dataPath = "../../../../data/";
|
||||
|
||||
namespace tests {
|
||||
|
||||
void DrivesWidgetTest::show()
|
||||
{
|
||||
std::ifstream file;
|
||||
|
||||
file.open(dataPath + "drives.xml", std::ifstream::in);
|
||||
if (file.good()) {
|
||||
auto drives = Drives_(file, ::xsd::cxx::tree::flags::dont_validate);
|
||||
auto modelBuilder = std::make_unique<gpui::ModelBuilder>();
|
||||
auto model = modelBuilder->schemaToModel(drives);
|
||||
|
||||
auto selectionModel = std::make_unique<QItemSelectionModel>(model.get());
|
||||
|
||||
auto widget = std::make_unique<gpui::DrivesWidget>(*model, *selectionModel);
|
||||
widget->show();
|
||||
|
||||
selectionModel->setCurrentIndex(model->item(0, 0)->index(),
|
||||
QItemSelectionModel::Select | QItemSelectionModel::Rows);
|
||||
|
||||
QTest::qWait(10000);
|
||||
}
|
||||
|
||||
file.close();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
QTEST_MAIN(tests::DrivesWidgetTest)
|
36
tests/auto/plugins/preferences/drives/driveswidgettest.h
Normal file
36
tests/auto/plugins/preferences/drives/driveswidgettest.h
Normal file
@ -0,0 +1,36 @@
|
||||
/***********************************************************************************************************************
|
||||
**
|
||||
** Copyright (C) 2021 BaseALT Ltd. <org@basealt.ru>
|
||||
**
|
||||
** This program is free software; you can redistribute it and/or
|
||||
** modify it under the terms of the GNU General Public License
|
||||
** as published by the Free Software Foundation; either version 2
|
||||
** of the License, or (at your option) any later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program; if not, write to the Free Software
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
**
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#ifndef GPUI_DRIVES_WIDGET_TEST_H
|
||||
#define GPUI_DRIVES_WIDGET_TEST_H
|
||||
|
||||
#include <QtTest>
|
||||
|
||||
namespace tests {
|
||||
class DrivesWidgetTest : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private slots:
|
||||
void show();
|
||||
};
|
||||
}
|
||||
|
||||
#endif // GPUI_DRIVES_WIDGET_TEST_H
|
Loading…
Reference in New Issue
Block a user