on xenial help sign in
Implement tests
e225248Josh Arenson
plugins/LightDM/SessionsModel.cpp+6
@@ -28,6 +28,12 @@ int SessionsModel::rowCount(const QModelIndex& parent) const
28 return m_model->rowCount(parent);
28 return m_model->rowCount(parent);
29}
29}
30
30
31+// Used for testing
32+QList<QUrl> SessionsModel::iconSearchDirectories() const
33+{
34+ return m_iconSearchDirectories;
35+}
36+
31QModelIndex SessionsModel::sessionIndex(QString sessionName) const
37QModelIndex SessionsModel::sessionIndex(QString sessionName) const
32{
38{
33 for (int i = 0; i < rowCount(QModelIndex()); i ++) {
39 for (int i = 0; i < rowCount(QModelIndex()); i ++) {
plugins/LightDM/SessionsModel.h+2−1
@@ -47,15 +47,16 @@ public:
47 int rowCount(const QModelIndex& parent) const override;
47 int rowCount(const QModelIndex& parent) const override;
48 QModelIndex sessionIndex(QString sessionName) const;
48 QModelIndex sessionIndex(QString sessionName) const;
49 QVariant data(const QModelIndex& index, int role) const override;
49 QVariant data(const QModelIndex& index, int role) const override;
50+ QList<QUrl> iconSearchDirectories() const;
50 Q_INVOKABLE QUrl iconUrl(QString sessionName) const;
51 Q_INVOKABLE QUrl iconUrl(QString sessionName) const;
51
52
52private:
53private:
53 QLightDM::SessionsModel* m_model;
54 QLightDM::SessionsModel* m_model;
54 QHash<int, QByteArray> m_roleNames;
55 QHash<int, QByteArray> m_roleNames;
55−
56 const QList<QUrl> m_iconSearchDirectories{QUrl("/usr/share/unity8/Greeter/graphics/session_icons"),
56 const QList<QUrl> m_iconSearchDirectories{QUrl("/usr/share/unity8/Greeter/graphics/session_icons"),
57 QUrl("/usr/local/share/unity-greeter"),
57 QUrl("/usr/local/share/unity-greeter"),
58 QUrl("/usr/share/unity-greeter/")};
58 QUrl("/usr/share/unity-greeter/")};
59+
59};
60};
60
61
61#endif // UNITY_SESSIONSMODEL_H
62#endif // UNITY_SESSIONSMODEL_H
tests/plugins/LightDM/IntegratedLightDM/sessionsmodel.cpp+10−1
@@ -19,7 +19,8 @@
19#include <QLightDM/SessionsModel>
19#include <QLightDM/SessionsModel>
20#include <QtCore/QModelIndex>
20#include <QtCore/QModelIndex>
21#include <QtTest>
21#include <QtTest>
22−
22+#include <QString>
23+#include <QDebug>
23class GreeterSessionsModelTest : public QObject
24class GreeterSessionsModelTest : public QObject
24{
25{
25 Q_OBJECT
26 Q_OBJECT
@@ -40,6 +41,14 @@ private Q_SLOTS:
40 delete sourceModel;
41 delete sourceModel;
41 }
42 }
42
43
44+ void testIconDirectoriesAreValid()
45+ {
46+ Q_FOREACH(const QUrl& searchDirectory, model->iconSearchDirectories())
47+ {
48+ QVERIFY(searchDirectory.isValid());
49+ }
50+ }
51+
43 void testMultupleSessionsCountIsCorrect()
52 void testMultupleSessionsCountIsCorrect()
44 {
53 {
45 sourceModel->setTestScenario("multipleSessions");
54 sourceModel->setTestScenario("multipleSessions");