@@ -187,12 +187,20 @@ private Q_SLOTS:
187187 QCOMPARE(spy.count() > 0, true);
188188 QCOMPARE(spy.at(0).at(2).value<QVector<int>>().first(), (int)LauncherModelInterface::RolePinned);
189189
190+ // App should be pinned now
190191 spy.clear();
191192 launcherModel->requestRemove(launcherModel->get(0)->appId());
192193 QCOMPARE(launcherModel->get(0)->pinned(), false);
193194 QCOMPARE(launcherModel->get(1)->pinned(), false);
194195 QCOMPARE(spy.count(), 1);
195196 QCOMPARE(spy.at(0).at(2).value<QVector<int>>().first(), (int)LauncherModelInterface::RolePinned);
197+
198+ // Now that the app is unpinned, nothing should change and the signal should not be emitted
199+ spy.clear();
200+ launcherModel->requestRemove(launcherModel->get(0)->appId());
201+ QCOMPARE(launcherModel->get(0)->pinned(), false);
202+ QCOMPARE(launcherModel->get(1)->pinned(), false);
203+ QCOMPARE(spy.count(), 0);
196204 }
197205
198206 void testRemove_data() {
@@ -424,6 +432,7 @@ private Q_SLOTS:
424432
425433 void testSettings() {
426434 GSettings *settings = launcherModel->m_settings;
435+ QSignalSpy spy(launcherModel, SIGNAL(hint()));
427436
428437 // Nothing pinned at startup
429438 QCOMPARE(settings->storedApplications().count(), 0);
@@ -431,6 +440,7 @@ private Q_SLOTS:
431440 // pin both apps
432441 launcherModel->pin("abs-icon");
433442 launcherModel->pin("no-icon");
443+ QCOMPARE(spy.count(), 0);
434444
435445 // Now settings should have 2 apps
436446 QCOMPARE(settings->storedApplications().count(), 2);
@@ -445,6 +455,7 @@ private Q_SLOTS:
445455 // Now remove 1 app through the backend, make sure one is still there
446456 settings->simulateDConfChanged(QStringList() << "abs-icon");
447457 QCOMPARE(settings->storedApplications().count(), 1);
458+ QCOMPARE(spy.count(), 1);
448459
449460 // Check if it disappeared from the frontend too
450461 QCOMPARE(launcherModel->rowCount(), 1);
@@ -454,6 +465,7 @@ private Q_SLOTS:
454465 QCOMPARE(launcherModel->rowCount(), 2);
455466 QCOMPARE(launcherModel->get(0)->appId(), QString("no-icon"));
456467 QCOMPARE(launcherModel->get(1)->appId(), QString("abs-icon"));
468+ QCOMPARE(spy.count(), 2);
457469 }
458470};
459471