on xenial help sign in
Add MockSessionsModel for future scenario support
b90caa8Josh Arenson
tests/mocks/LightDM/IntegratedLightDM/CMakeLists.txt+1−1
@@ -23,7 +23,7 @@ set(QMLPLUGIN_SRC
23 ${CMAKE_SOURCE_DIR}/plugins/LightDM/UsersModel.cpp
23 ${CMAKE_SOURCE_DIR}/plugins/LightDM/UsersModel.cpp
24 ${CMAKE_SOURCE_DIR}/plugins/Utils/unitysortfilterproxymodelqml.cpp
24 ${CMAKE_SOURCE_DIR}/plugins/Utils/unitysortfilterproxymodelqml.cpp
25 MockGreeter.cpp
25 MockGreeter.cpp
26− MockSessionsModel.h
26+ MockSessionsModel.cpp
27 MockUsersModel.cpp
27 MockUsersModel.cpp
28 plugin.cpp
28 plugin.cpp
29 )
29 )
tests/mocks/LightDM/IntegratedLightDM/MockSessionsModel.cppnew file+40
@@ -0,0 +1,40 @@
1+/*
2+ * Copyright (C) 2015 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ *
16+ */
17+
18+#include "MockSessionsModel.h"
19+#include <QLightDM/SessionsModel>
20+#include <QSortFilterProxyModel>
21+#include <QDebug>
22+QString MockSessionsModel::testScenario() const
23+{
24+ /*QLightDM::UsersModel* qUsersModel =
25+ static_cast<QLightDM::UsersModel*>(static_cast<QSortFilterProxyModel*>(sourceModel())->sourceModel());*/
26+
27+ return QString("Hello MockSessionsModel");
28+}
29+
30+void MockSessionsModel::setTestScenario(QString testScenario)
31+{
32+ /*QLightDM::UsersModel* qUsersModel =
33+ static_cast<QLightDM::UsersModel*>(static_cast<QSortFilterProxyModel*>(sourceModel())->sourceModel());
34+
35+ if (qUsersModel->mockMode() != mockMode) {
36+ qUsersModel->setMockMode(mockMode);
37+ Q_EMIT mockModeChanged(mockMode);
38+ }*/
39+ qDebug() << "Setting MockSessionsModel::testScenario";
40+}
tests/mocks/LightDM/IntegratedLightDM/MockSessionsModel.h+5−4
@@ -19,15 +19,16 @@
19#define MOCK_UNITY_SESSIONSMODEL_H
19#define MOCK_UNITY_SESSIONSMODEL_H
20
20
21#include <SessionsModel.h>
21#include <SessionsModel.h>
22−#include <QLightDM/SessionsModel>
23
22
24−// A wrapper class to preserve naming conventions, thus
25−// enhancing code readability
26class MockSessionsModel : public SessionsModel
23class MockSessionsModel : public SessionsModel
27{
24{
28 Q_OBJECT
25 Q_OBJECT
29
26
30− using SessionsModel::SessionsModel;
27+ Q_PROPERTY(QString testScenario READ testScenario WRITE setTestScenario)
28+
29+public:
30+ QString testScenario() const;
31+ void setTestScenario(QString testScenario);
31};
32};
32
33
33#endif // MOCK_UNITY_SESSIONSMODEL_H
34#endif // MOCK_UNITY_SESSIONSMODEL_H
tests/qmltests/Greeter/tst_Greeter.qml+1
@@ -34,6 +34,7 @@ Item {
34 // set the mock mode before loading
34 // set the mock mode before loading
35 LightDM.Greeter.mockMode = "full";
35 LightDM.Greeter.mockMode = "full";
36 LightDM.Users.mockMode = "full";
36 LightDM.Users.mockMode = "full";
37+ console.log("TEST SAYS testScenario is: " + LightDM.Sessions.testScenario);
37 loader.active = true;
38 loader.active = true;
38 }
39 }
39
40