diff --git a/containments/desktop/plugins/folder/tests/CMakeLists.txt b/containments/desktop/plugins/folder/tests/CMakeLists.txt --- a/containments/desktop/plugins/folder/tests/CMakeLists.txt +++ b/containments/desktop/plugins/folder/tests/CMakeLists.txt @@ -7,6 +7,7 @@ ecm_add_tests( foldermodeltest.cpp positionertest.cpp + viewpropertiesmenutest.cpp LINK_LIBRARIES Qt5::Test folderplugin ) diff --git a/containments/desktop/plugins/folder/tests/foldermodeltest.cpp b/containments/desktop/plugins/folder/tests/foldermodeltest.cpp --- a/containments/desktop/plugins/folder/tests/foldermodeltest.cpp +++ b/containments/desktop/plugins/folder/tests/foldermodeltest.cpp @@ -226,6 +226,9 @@ QCOMPARE(folderModel.sortMode(), 0); QCOMPARE(folderModel.filterMode(), (int)FolderModel::NoFilter); QVERIFY(folderModel.newMenu()); + QCOMPARE(folderModel.filterCaseSensitivity(), Qt::CaseInsensitive); + QVERIFY(folderModel.dynamicSortFilter()); + QVERIFY(folderModel.isSortLocaleAware()); } void FolderModelTest::tst_actionMenu() diff --git a/containments/desktop/plugins/folder/tests/positionertest.h b/containments/desktop/plugins/folder/tests/positionertest.h --- a/containments/desktop/plugins/folder/tests/positionertest.h +++ b/containments/desktop/plugins/folder/tests/positionertest.h @@ -50,6 +50,8 @@ void tst_isBlank(); void tst_reset(); void tst_defaultValues(); + void tst_changeEnabledStatus(); + void tst_changePerStripe(); private: void checkPositions(int perStripe); diff --git a/containments/desktop/plugins/folder/tests/positionertest.cpp b/containments/desktop/plugins/folder/tests/positionertest.cpp --- a/containments/desktop/plugins/folder/tests/positionertest.cpp +++ b/containments/desktop/plugins/folder/tests/positionertest.cpp @@ -160,7 +160,7 @@ m_positioner->reset(); QSignalSpy s(m_positioner, &Positioner::positionsChanged); s.wait(500); - + QCOMPARE(s.count(), 1); checkPositions(3); for (int i = 0; i < m_positioner->rowCount(); i++) { @@ -177,6 +177,38 @@ QVERIFY(positioner.positions().isEmpty()); } +void PositionerTest::tst_changeEnabledStatus() +{ + Positioner positioner; + QVERIFY(!positioner.enabled()); + QSignalSpy s(&positioner, &Positioner::enabledChanged); + positioner.setEnabled(true); + QCOMPARE(s.count(), 1); + + positioner.setEnabled(false); + QCOMPARE(s.count(), 2); + + //No change + positioner.setEnabled(false); + QCOMPARE(s.count(), 2); +} + +void PositionerTest::tst_changePerStripe() +{ + Positioner positioner; + QCOMPARE(positioner.perStripe(), 0); + QSignalSpy s(&positioner, &Positioner::perStripeChanged); + positioner.setPerStripe(1); + QCOMPARE(s.count(), 1); + + //No change + positioner.setPerStripe(1); + QCOMPARE(s.count(), 1); + + positioner.setPerStripe(4); + QCOMPARE(s.count(), 2); +} + void PositionerTest::checkPositions(int perStripe) { QSignalSpy s(m_positioner, &Positioner::positionsChanged); diff --git a/containments/desktop/plugins/folder/tests/positionertest.h b/containments/desktop/plugins/folder/tests/viewpropertiesmenutest.h copy from containments/desktop/plugins/folder/tests/positionertest.h copy to containments/desktop/plugins/folder/tests/viewpropertiesmenutest.h --- a/containments/desktop/plugins/folder/tests/positionertest.h +++ b/containments/desktop/plugins/folder/tests/viewpropertiesmenutest.h @@ -1,7 +1,7 @@ /*************************************************************************** * Copyright (C) 2017 Klarälvdalens Datakonsult AB, a KDAB Group company * * * - * Author: Andras Mantia * + * Author: Laurent Montel * * * * 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 * @@ -19,44 +19,17 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . * ***************************************************************************/ - -#ifndef POSITIONERTEST_H -#define POSITIONERTEST_H +#ifndef VIEWPROPERTIESMENUTEST_H +#define VIEWPROPERTIESMENUTEST_H #include -class QTemporaryDir; -class FolderModel; -class Positioner; - -class PositionerTest : public QObject +class ViewPropertiesMenuTest : public QObject { Q_OBJECT private Q_SLOTS: - void initTestCase(); - void cleanupTestCase(); - - void init(); - void cleanup(); - - void tst_positions_data(); - void tst_positions(); - void tst_map(); - void tst_move_data(); - void tst_move(); - void tst_nearestitem_data(); - void tst_nearestitem(); - void tst_isBlank(); - void tst_reset(); - void tst_defaultValues(); - -private: - void checkPositions(int perStripe); - - Positioner *m_positioner; - FolderModel *m_folderModel; - QTemporaryDir *m_folderDir; + void shouldHaveDefaultValues(); }; -#endif // POSITIONERTEST_H +#endif // VIEWPROPERTIESMENUTEST_H diff --git a/containments/desktop/plugins/folder/tests/positionertest.h b/containments/desktop/plugins/folder/tests/viewpropertiesmenutest.cpp copy from containments/desktop/plugins/folder/tests/positionertest.h copy to containments/desktop/plugins/folder/tests/viewpropertiesmenutest.cpp --- a/containments/desktop/plugins/folder/tests/positionertest.h +++ b/containments/desktop/plugins/folder/tests/viewpropertiesmenutest.cpp @@ -1,7 +1,7 @@ /*************************************************************************** * Copyright (C) 2017 Klarälvdalens Datakonsult AB, a KDAB Group company * * * - * Author: Andras Mantia * + * Author: Laurent Montel * * * * 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 * @@ -19,44 +19,20 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . * ***************************************************************************/ +#include "viewpropertiesmenutest.h" +#include "viewpropertiesmenu.h" +#include +QTEST_MAIN(ViewPropertiesMenuTest) -#ifndef POSITIONERTEST_H -#define POSITIONERTEST_H - -#include - -class QTemporaryDir; -class FolderModel; -class Positioner; - -class PositionerTest : public QObject +void ViewPropertiesMenuTest::shouldHaveDefaultValues() { - Q_OBJECT - -private Q_SLOTS: - void initTestCase(); - void cleanupTestCase(); - - void init(); - void cleanup(); - - void tst_positions_data(); - void tst_positions(); - void tst_map(); - void tst_move_data(); - void tst_move(); - void tst_nearestitem_data(); - void tst_nearestitem(); - void tst_isBlank(); - void tst_reset(); - void tst_defaultValues(); - -private: - void checkPositions(int perStripe); - - Positioner *m_positioner; - FolderModel *m_folderModel; - QTemporaryDir *m_folderDir; -}; - -#endif // POSITIONERTEST_H + ViewPropertiesMenu m; + QVERIFY(m.menu()); + + QVERIFY(m.showLayoutActions()); + QVERIFY(m.showLockAction()); + QVERIFY(m.showIconSizeActions()); + QVERIFY(!m.locked()); + QVERIFY(!m.sortDesc()); + QVERIFY(!m.sortDirsFirst()); +} diff --git a/containments/desktop/plugins/folder/viewpropertiesmenu.h b/containments/desktop/plugins/folder/viewpropertiesmenu.h --- a/containments/desktop/plugins/folder/viewpropertiesmenu.h +++ b/containments/desktop/plugins/folder/viewpropertiesmenu.h @@ -21,12 +21,12 @@ #define VIEWPROPERTIESMENU_H #include - +#include "folderplugin_private_export.h" class QAction; class QActionGroup; class QMenu; -class ViewPropertiesMenu : public QObject +class FOLDERPLUGIN_TESTS_EXPORT ViewPropertiesMenu : public QObject { Q_OBJECT