on xenial help sign in
Add a test to ensure getItem returns null on being unable to find the desktop file
345f238Ted Gould
plugins/Unity/Launcher/backend/launcherbackend.h+2−1
@@ -168,7 +168,6 @@ Q_SIGNALS:
168private:
168private:
169 QString findDesktopFile(const QString &appId) const;
169 QString findDesktopFile(const QString &appId) const;
170 LauncherBackendItem* parseDesktopFile(const QString &desktopFile) const;
170 LauncherBackendItem* parseDesktopFile(const QString &desktopFile) const;
171− LauncherBackendItem* getItem (const QString& appId) const;
172
171
173 QVariantMap itemToVariant(const QString &appId) const;
172 QVariantMap itemToVariant(const QString &appId) const;
174 void loadFromVariant(const QVariantMap &details);
173 void loadFromVariant(const QVariantMap &details);
@@ -186,6 +185,8 @@ private:
186 void emitPropChangedDbus (const QString& appId, const QString& property, QVariant &value) const;
185 void emitPropChangedDbus (const QString& appId, const QString& property, QVariant &value) const;
187
186
188public: /* Only public to make them easier to test independently */
187public: /* Only public to make them easier to test independently */
188+ LauncherBackendItem* getItem (const QString& appId) const;
189+
189 static QString decodeAppId (const QString& path);
190 static QString decodeAppId (const QString& path);
190 static QString encodeAppId (const QString& appId);
191 static QString encodeAppId (const QString& appId);
191};
192};
tests/plugins/Unity/Launcher/launcherbackendtest.cpp+22
@@ -71,6 +71,28 @@ private Q_SLOTS:
71 QCOMPARE(backend.icon(appId), expectedIcon);
71 QCOMPARE(backend.icon(appId), expectedIcon);
72 }
72 }
73
73
74+ void testGetItem_data() {
75+ QTest::addColumn<QString>("appId");
76+ QTest::addColumn<bool>("exists");
77+
78+ QTest::newRow("Exists") << "rel-icon" << true;
79+ QTest::newRow("Doesn't Exist") << "does-not-exist" << false;
80+ }
81+
82+ void testGetItem() {
83+ QFETCH(QString, appId);
84+ QFETCH(bool, exists);
85+
86+ LauncherBackend backend;
87+ auto item = backend.getItem(appId);
88+
89+ if (exists) {
90+ QVERIFY(item != nullptr);
91+ } else {
92+ QVERIFY(item == nullptr);
93+ }
94+ }
95+
74 void testCount_data() {
96 void testCount_data() {
75 QTest::addColumn<QString>("appId");
97 QTest::addColumn<QString>("appId");
76 QTest::addColumn<bool>("setCount");
98 QTest::addColumn<bool>("setCount");