Merge branch 'master' into sslrefactor

This commit is contained in:
Albert Vaca 2016-01-10 09:01:14 -08:00
commit fa1771dd64
14 changed files with 2 additions and 72 deletions

View file

@ -38,7 +38,8 @@ BatteryDbusInterface::BatteryDbusInterface(const Device *device)
QMap<QString, BatteryDbusInterface *>::iterator oldInterfaceIter = s_dbusInterfaces.find(device->id()); QMap<QString, BatteryDbusInterface *>::iterator oldInterfaceIter = s_dbusInterfaces.find(device->id());
if (oldInterfaceIter != s_dbusInterfaces.end()) { if (oldInterfaceIter != s_dbusInterfaces.end()) {
qCDebug(KDECONNECT_PLUGIN_BATTERY) << "Deleting stale BattteryDbusInterface for" << device->name(); qCDebug(KDECONNECT_PLUGIN_BATTERY) << "Deleting stale BattteryDbusInterface for" << device->name();
oldInterfaceIter.value()->deleteLater(); //FIXME: This still crashes sometimes even after the workaround made in 38aa970, commented out by now
//oldInterfaceIter.value()->deleteLater();
s_dbusInterfaces.erase(oldInterfaceIter); s_dbusInterfaces.erase(oldInterfaceIter);
} }

View file

@ -13,7 +13,6 @@
"Description[ca@valencia]": "Mostra la bateria del telèfon al costat de la bateria de l'ordinador", "Description[ca@valencia]": "Mostra la bateria del telèfon al costat de la bateria de l'ordinador",
"Description[ca]": "Mostra la bateria del telèfon al costat de la bateria de l'ordinador", "Description[ca]": "Mostra la bateria del telèfon al costat de la bateria de l'ordinador",
"Description[cs]": "Zobrazit baterii vedle baterie počítače", "Description[cs]": "Zobrazit baterii vedle baterie počítače",
"Description[da]": "Vis dit telefonbatteri ved siden af dit computerbatteri",
"Description[de]": "Zeigt den Akku Ihres Telefons neben dem Akku des Rechners", "Description[de]": "Zeigt den Akku Ihres Telefons neben dem Akku des Rechners",
"Description[es]": "Mostrar la batería del teléfono junto a la batería del equipo", "Description[es]": "Mostrar la batería del teléfono junto a la batería del equipo",
"Description[fi]": "Näytä puhelimesi akku tietokoneen akun rinnalla", "Description[fi]": "Näytä puhelimesi akku tietokoneen akun rinnalla",
@ -42,7 +41,6 @@
"Name[ca@valencia]": "Monitor de la bateria", "Name[ca@valencia]": "Monitor de la bateria",
"Name[ca]": "Monitor de la bateria", "Name[ca]": "Monitor de la bateria",
"Name[cs]": "Monitor baterie", "Name[cs]": "Monitor baterie",
"Name[da]": "Batteriovervågning",
"Name[de]": "Akkuüberwachung", "Name[de]": "Akkuüberwachung",
"Name[es]": "Monitor de batería", "Name[es]": "Monitor de batería",
"Name[fi]": "Akkuvalvonta", "Name[fi]": "Akkuvalvonta",

View file

@ -13,7 +13,6 @@
"Description[ca@valencia]": "Comparteix el porta-retalls entre dispositius", "Description[ca@valencia]": "Comparteix el porta-retalls entre dispositius",
"Description[ca]": "Comparteix el porta-retalls entre dispositius", "Description[ca]": "Comparteix el porta-retalls entre dispositius",
"Description[cs]": "Sdílet obsah schránky mezi zařízeními", "Description[cs]": "Sdílet obsah schránky mezi zařízeními",
"Description[da]": "Del udklipsholderen mellem enheder",
"Description[de]": "Die Zwischenablage mit Geräten teilen", "Description[de]": "Die Zwischenablage mit Geräten teilen",
"Description[es]": "Compartir portapapeles entre dispositivos", "Description[es]": "Compartir portapapeles entre dispositivos",
"Description[fi]": "Jaa leikepöytä laitteiden välillä", "Description[fi]": "Jaa leikepöytä laitteiden välillä",
@ -42,7 +41,6 @@
"Name[ca@valencia]": "Porta-retalls", "Name[ca@valencia]": "Porta-retalls",
"Name[ca]": "Porta-retalls", "Name[ca]": "Porta-retalls",
"Name[cs]": "Schránka", "Name[cs]": "Schránka",
"Name[da]": "Udklipsholder",
"Name[de]": "Zwischenablage", "Name[de]": "Zwischenablage",
"Name[es]": "Portapapeles", "Name[es]": "Portapapeles",
"Name[fi]": "Leikepöytä", "Name[fi]": "Leikepöytä",

View file

@ -13,7 +13,6 @@
"Description[ca@valencia]": "Bloqueja els vostres sistemes", "Description[ca@valencia]": "Bloqueja els vostres sistemes",
"Description[ca]": "Bloqueja els vostres sistemes", "Description[ca]": "Bloqueja els vostres sistemes",
"Description[cs]": "Zamkne vaše systémy", "Description[cs]": "Zamkne vaše systémy",
"Description[da]": "Låser dine systemer",
"Description[de]": "Sperrt Ihre Systeme", "Description[de]": "Sperrt Ihre Systeme",
"Description[es]": "Bloquear sus sistemas", "Description[es]": "Bloquear sus sistemas",
"Description[fi]": "Lukitsee järjestelmäsi", "Description[fi]": "Lukitsee järjestelmäsi",
@ -40,7 +39,6 @@
"Name[ca@valencia]": "Bloqueja el dispositiu", "Name[ca@valencia]": "Bloqueja el dispositiu",
"Name[ca]": "Bloqueja el dispositiu", "Name[ca]": "Bloqueja el dispositiu",
"Name[cs]": "Uzamknout zařízení", "Name[cs]": "Uzamknout zařízení",
"Name[da]": "LåsEnhed",
"Name[de]": "Gerätesperrung", "Name[de]": "Gerätesperrung",
"Name[es]": "Bloquear dispositivo", "Name[es]": "Bloquear dispositivo",
"Name[fi]": "Lukitse laite", "Name[fi]": "Lukitse laite",

View file

@ -13,7 +13,6 @@
"Description[ca@valencia]": "Empra el telèfon com un ratolí tàctil i teclat", "Description[ca@valencia]": "Empra el telèfon com un ratolí tàctil i teclat",
"Description[ca]": "Empra el telèfon com un ratolí tàctil i teclat", "Description[ca]": "Empra el telèfon com un ratolí tàctil i teclat",
"Description[cs]": "Používejte svůj telefon jako touchpad a klávesnici", "Description[cs]": "Používejte svůj telefon jako touchpad a klávesnici",
"Description[da]": "Brug din telefon som touchpad og tastatur",
"Description[de]": "Verwendet Ihr Handy als Touchpad und Tastatur", "Description[de]": "Verwendet Ihr Handy als Touchpad und Tastatur",
"Description[es]": "Usar teléfono como panel táctil y teclado", "Description[es]": "Usar teléfono como panel táctil y teclado",
"Description[fi]": "Käytä puhelintasi kosketuslevynä ja näppäimistönä", "Description[fi]": "Käytä puhelintasi kosketuslevynä ja näppäimistönä",
@ -42,7 +41,6 @@
"Name[ca@valencia]": "Entrada virtual", "Name[ca@valencia]": "Entrada virtual",
"Name[ca]": "Entrada virtual", "Name[ca]": "Entrada virtual",
"Name[cs]": "Virtuální vstup", "Name[cs]": "Virtuální vstup",
"Name[da]": "Virtuelt input",
"Name[de]": "Virtuelle Eingabe", "Name[de]": "Virtuelle Eingabe",
"Name[es]": "Entrada virtual", "Name[es]": "Entrada virtual",
"Name[fi]": "Virtuaalinen syöttö", "Name[fi]": "Virtuaalinen syöttö",

View file

@ -13,7 +13,6 @@
"Description[ca@valencia]": "Comandament a distància per a la vostra música i vídeos", "Description[ca@valencia]": "Comandament a distància per a la vostra música i vídeos",
"Description[ca]": "Comandament a distància per a la vostra música i vídeos", "Description[ca]": "Comandament a distància per a la vostra música i vídeos",
"Description[cs]": "Ovládejte vzdáleně vaši hudbu a videa", "Description[cs]": "Ovládejte vzdáleně vaši hudbu a videa",
"Description[da]": "Fjernbetjen din musik og videoer",
"Description[de]": "Fernbedienung für Musik und Videos", "Description[de]": "Fernbedienung für Musik und Videos",
"Description[es]": "Controlar remotamente vídeos y música", "Description[es]": "Controlar remotamente vídeos y música",
"Description[fi]": "Kauko-ohjain musiikkiisi ja videoihisi", "Description[fi]": "Kauko-ohjain musiikkiisi ja videoihisi",
@ -41,7 +40,6 @@
"Name[ca@valencia]": "Receptor del comandament multimèdia", "Name[ca@valencia]": "Receptor del comandament multimèdia",
"Name[ca]": "Receptor del comandament multimèdia", "Name[ca]": "Receptor del comandament multimèdia",
"Name[cs]": "Dálkový ovladač multimédií", "Name[cs]": "Dálkový ovladač multimédií",
"Name[da]": "Multimediekontrol-modtager",
"Name[de]": "Steuerung für Multimedia-Empfänger", "Name[de]": "Steuerung für Multimedia-Empfänger",
"Name[es]": "Receptor de control multimedia", "Name[es]": "Receptor de control multimedia",
"Name[fi]": "Multimediakauko-ohjain", "Name[fi]": "Multimediakauko-ohjain",

View file

@ -13,7 +13,6 @@
"Description[ca@valencia]": "Mostra les notificacions del telèfon a l'ordinador i les manté sincronitzades", "Description[ca@valencia]": "Mostra les notificacions del telèfon a l'ordinador i les manté sincronitzades",
"Description[ca]": "Mostra les notificacions del telèfon a l'ordinador i les manté sincronitzades", "Description[ca]": "Mostra les notificacions del telèfon a l'ordinador i les manté sincronitzades",
"Description[cs]": "Zobrazit upozornění telefonu v počítači a udržovat je synchronizovaná", "Description[cs]": "Zobrazit upozornění telefonu v počítači a udržovat je synchronizovaná",
"Description[da]": "Vis telefonbekendtgørelser på din computer og hold dem synkroniseret",
"Description[de]": "Benachrichtigungen auf Ihren Rechner anzeigen und abgleichen", "Description[de]": "Benachrichtigungen auf Ihren Rechner anzeigen und abgleichen",
"Description[es]": "Mostrar notificaciones del teléfono en su equipo y mantenerlas en sincronía", "Description[es]": "Mostrar notificaciones del teléfono en su equipo y mantenerlas en sincronía",
"Description[fi]": "Näytä puhelimen ilmoitukset tietokoneellasi ja pidä ne ajan tasalla", "Description[fi]": "Näytä puhelimen ilmoitukset tietokoneellasi ja pidä ne ajan tasalla",
@ -42,7 +41,6 @@
"Name[ca@valencia]": "Sincronització de les notificacions", "Name[ca@valencia]": "Sincronització de les notificacions",
"Name[ca]": "Sincronització de les notificacions", "Name[ca]": "Sincronització de les notificacions",
"Name[cs]": "Synchronizace upozornění", "Name[cs]": "Synchronizace upozornění",
"Name[da]": "Synk. af bekendtgørelser",
"Name[de]": "Benachrichtigungs-Abgleich", "Name[de]": "Benachrichtigungs-Abgleich",
"Name[es]": "Sincronización de notificaciones", "Name[es]": "Sincronización de notificaciones",
"Name[fi]": "Ilmoitusten synkronointi", "Name[fi]": "Ilmoitusten synkronointi",

View file

@ -152,9 +152,6 @@ uint NotificationsListener::Notify(const QString &appName, uint replacesId,
// timeout == 0, for other notifications // timeout == 0, for other notifications
// clearability is pointless // clearability is pointless
Notification *notification = new Notification(np, QString(), this);
dbusInterface->addNotification(notification);
mPlugin->sendPackage(np); mPlugin->sendPackage(np);
return (replacesId > 0 ? replacesId : id); return (replacesId > 0 ? replacesId : id);

View file

@ -13,7 +13,6 @@
"Description[ca@valencia]": "Pausa la música/vídeos durant una trucada telefònica", "Description[ca@valencia]": "Pausa la música/vídeos durant una trucada telefònica",
"Description[ca]": "Pausa la música/vídeos durant una trucada telefònica", "Description[ca]": "Pausa la música/vídeos durant una trucada telefònica",
"Description[cs]": "Pozastavit hudbu/video během telefonátu", "Description[cs]": "Pozastavit hudbu/video během telefonátu",
"Description[da]": "Sæt musik/video på pause under telefonsamtaler",
"Description[de]": "Hält Musik oder Videos währen eines Anrufs an", "Description[de]": "Hält Musik oder Videos währen eines Anrufs an",
"Description[es]": "Pausar música/video durante las llamadas telefónicas", "Description[es]": "Pausar música/video durante las llamadas telefónicas",
"Description[fi]": "Keskeytä musiikki ja videot puhelun aikana", "Description[fi]": "Keskeytä musiikki ja videot puhelun aikana",
@ -42,7 +41,6 @@
"Name[ca@valencia]": "Pausa els suports durant les trucades", "Name[ca@valencia]": "Pausa els suports durant les trucades",
"Name[ca]": "Pausa els suports durant les trucades", "Name[ca]": "Pausa els suports durant les trucades",
"Name[cs]": "Pozastavit média během telefonátu", "Name[cs]": "Pozastavit média během telefonátu",
"Name[da]": "Sæt medier på pause under opkald",
"Name[de]": "Medium bei Anrufen anhalten", "Name[de]": "Medium bei Anrufen anhalten",
"Name[es]": "Pausar medios durante las llamadas", "Name[es]": "Pausar medios durante las llamadas",
"Name[fi]": "Keskeytä toisto puhelujen aikana", "Name[fi]": "Keskeytä toisto puhelujen aikana",

View file

@ -13,7 +13,6 @@
"Description[ca@valencia]": "Inhibeix l'estalvi de pantalla quan es connecta el dispositiu", "Description[ca@valencia]": "Inhibeix l'estalvi de pantalla quan es connecta el dispositiu",
"Description[ca]": "Inhibeix l'estalvi de pantalla quan es connecta el dispositiu", "Description[ca]": "Inhibeix l'estalvi de pantalla quan es connecta el dispositiu",
"Description[cs]": "Potlačit spořič pokud je zařízení připojeno", "Description[cs]": "Potlačit spořič pokud je zařízení připojeno",
"Description[da]": "Forhindr pauseskærm når enheden er forbundet",
"Description[de]": "Bildschirmschoner unterbinden wenn ein Gerät angeschlossen ist", "Description[de]": "Bildschirmschoner unterbinden wenn ein Gerät angeschlossen ist",
"Description[es]": "Inhibir el salvapantallas cuando el dispositivo está conectado", "Description[es]": "Inhibir el salvapantallas cuando el dispositivo está conectado",
"Description[fi]": "Estä näytönsäästäjän käynnistyminen, kun laite on yhteydessä", "Description[fi]": "Estä näytönsäästäjän käynnistyminen, kun laite on yhteydessä",
@ -42,7 +41,6 @@
"Name[ca@valencia]": "Inhibeix l'estalvi de pantalla", "Name[ca@valencia]": "Inhibeix l'estalvi de pantalla",
"Name[ca]": "Inhibeix l'estalvi de pantalla", "Name[ca]": "Inhibeix l'estalvi de pantalla",
"Name[cs]": "Potlačit spořič obrazovky", "Name[cs]": "Potlačit spořič obrazovky",
"Name[da]": "Forhindr pauseskærm",
"Name[de]": "Bildschirmschoner unterbinden", "Name[de]": "Bildschirmschoner unterbinden",
"Name[es]": "Inhibir salvapantallas", "Name[es]": "Inhibir salvapantallas",
"Name[fi]": "Estä näytönsäästäjän käynnistyminen", "Name[fi]": "Estä näytönsäästäjän käynnistyminen",

View file

@ -14,7 +14,6 @@
"Description[ca@valencia]": "Navega pel sistema de fitxers del dispositiu remot emprant SFTP", "Description[ca@valencia]": "Navega pel sistema de fitxers del dispositiu remot emprant SFTP",
"Description[ca]": "Navega pel sistema de fitxers del dispositiu remot emprant SFTP", "Description[ca]": "Navega pel sistema de fitxers del dispositiu remot emprant SFTP",
"Description[cs]": "Prohlížejte souborový systém zařízení pomocí SFTP", "Description[cs]": "Prohlížejte souborový systém zařízení pomocí SFTP",
"Description[da]": "Gennemse filsystemet på eksterne enheder med SFTP",
"Description[de]": "Browsen im Dateisystem des entfernten Geräts mit SFTP", "Description[de]": "Browsen im Dateisystem des entfernten Geräts mit SFTP",
"Description[es]": "Navegar por el sistema de archivos del dispositivo remoto usando SFTP", "Description[es]": "Navegar por el sistema de archivos del dispositivo remoto usando SFTP",
"Description[fi]": "Selaa etälaitteiden tiedostojärjestelmiä SFTP:llä", "Description[fi]": "Selaa etälaitteiden tiedostojärjestelmiä SFTP:llä",
@ -43,7 +42,6 @@
"Name[ca@valencia]": "Navegador del sistema de fitxers remot", "Name[ca@valencia]": "Navegador del sistema de fitxers remot",
"Name[ca]": "Navegador del sistema de fitxers remot", "Name[ca]": "Navegador del sistema de fitxers remot",
"Name[cs]": "Vzdálený prohlížeč souborového systému", "Name[cs]": "Vzdálený prohlížeč souborového systému",
"Name[da]": "Filbrowser til eksternt filsystem",
"Name[de]": "Datei-Browser für entferne Systeme", "Name[de]": "Datei-Browser für entferne Systeme",
"Name[es]": "Navegador de sistema de archivos remoto", "Name[es]": "Navegador de sistema de archivos remoto",
"Name[fi]": "Etätiedostojärjestelmäselain", "Name[fi]": "Etätiedostojärjestelmäselain",

View file

@ -13,7 +13,6 @@
"Description[ca@valencia]": "Rep i envia fitxers, URL o text pla amb facilitat", "Description[ca@valencia]": "Rep i envia fitxers, URL o text pla amb facilitat",
"Description[ca]": "Rep i envia fitxers, URL o text pla amb facilitat", "Description[ca]": "Rep i envia fitxers, URL o text pla amb facilitat",
"Description[cs]": "Snadno přijímejte a posílejte soubory, URL nebo čistý text", "Description[cs]": "Snadno přijímejte a posílejte soubory, URL nebo čistý text",
"Description[da]": "Modtag og send nemt filer, URL'er eller klartekst",
"Description[de]": "Empfang und Senden von Dateien, URLs oder einfachem Text", "Description[de]": "Empfang und Senden von Dateien, URLs oder einfachem Text",
"Description[es]": "Recibir y enviar archivos, URL o texto sin formato fácilmente", "Description[es]": "Recibir y enviar archivos, URL o texto sin formato fácilmente",
"Description[fi]": "Vastaanota ja lähetä tiedostoja, verkko-osoitteita tai tekstiä helposti", "Description[fi]": "Vastaanota ja lähetä tiedostoja, verkko-osoitteita tai tekstiä helposti",
@ -42,7 +41,6 @@
"Name[ca@valencia]": "Comparteix i rep", "Name[ca@valencia]": "Comparteix i rep",
"Name[ca]": "Comparteix i rep", "Name[ca]": "Comparteix i rep",
"Name[cs]": "Sdílet a přijímat", "Name[cs]": "Sdílet a přijímat",
"Name[da]": "Del og modtag",
"Name[de]": "Senden und Empfangen", "Name[de]": "Senden und Empfangen",
"Name[es]": "Compartir y recibir", "Name[es]": "Compartir y recibir",
"Name[fi]": "Jaa ja vastaanota", "Name[fi]": "Jaa ja vastaanota",

View file

@ -13,7 +13,6 @@
"Description[ca@valencia]": "Mostra les notificacions de les trucades i SMS (properament es respondrà)", "Description[ca@valencia]": "Mostra les notificacions de les trucades i SMS (properament es respondrà)",
"Description[ca]": "Mostra les notificacions de les trucades i SMS (properament es respondrà)", "Description[ca]": "Mostra les notificacions de les trucades i SMS (properament es respondrà)",
"Description[cs]": "Zobrazit upozornění pro telefonáty a SMS (na odpovídání se pracuje)", "Description[cs]": "Zobrazit upozornění pro telefonáty a SMS (na odpovídání se pracuje)",
"Description[da]": "Vis bekendtgørelser for opkald og SMS'er (svarer kommer snart)",
"Description[de]": "Zeigt Benachrichtigungen für Anrufe und SMS", "Description[de]": "Zeigt Benachrichtigungen für Anrufe und SMS",
"Description[es]": "Mostrar notificaciones para llamadas y SMS (el soporte para las contestaciones es inminente)", "Description[es]": "Mostrar notificaciones para llamadas y SMS (el soporte para las contestaciones es inminente)",
"Description[fi]": "Näytä puhelujen ja tekstiviestien ilmoitukset (vastaaminen tulossa pian)", "Description[fi]": "Näytä puhelujen ja tekstiviestien ilmoitukset (vastaaminen tulossa pian)",
@ -42,7 +41,6 @@
"Name[ca@valencia]": "Integració amb la telefonia", "Name[ca@valencia]": "Integració amb la telefonia",
"Name[ca]": "Integració amb la telefonia", "Name[ca]": "Integració amb la telefonia",
"Name[cs]": "Integrace telefonu", "Name[cs]": "Integrace telefonu",
"Name[da]": "Telefoniintegration",
"Name[de]": "Telefon-Integration", "Name[de]": "Telefon-Integration",
"Name[es]": "Integración con el teléfono", "Name[es]": "Integración con el teléfono",
"Name[fi]": "Puhelinintegrointi", "Name[fi]": "Puhelinintegrointi",

View file

@ -23,11 +23,8 @@
#include <QNetworkAccessManager> #include <QNetworkAccessManager>
#include <QTest> #include <QTest>
#include <QTemporaryFile> #include <QTemporaryFile>
#include <QSignalSpy>
#include <QStandardPaths> #include <QStandardPaths>
#include <KIO/AccessManager>
#include "core/daemon.h" #include "core/daemon.h"
#include "core/device.h" #include "core/device.h"
#include "core/kdeconnectplugin.h" #include "core/kdeconnectplugin.h"
@ -45,9 +42,6 @@ public:
explicit TestNotificationsPlugin(QObject *parent, const QVariantList &args) explicit TestNotificationsPlugin(QObject *parent, const QVariantList &args)
: NotificationsPlugin(parent, args) : NotificationsPlugin(parent, args)
{ {
// make notificationPosted() inspectable:
connect(notificationsDbusInterface, &NotificationsDbusInterface::notificationPosted,
this, &TestNotificationsPlugin::notificationPosted);
} }
virtual ~TestNotificationsPlugin() {}; virtual ~TestNotificationsPlugin() {};
@ -67,9 +61,6 @@ public:
{ {
return notificationsDbusInterface; return notificationsDbusInterface;
} }
Q_SIGNALS:
void notificationPosted(const QString& publicId);
}; };
// Tweaked NotificationsListener for testing: // Tweaked NotificationsListener for testing:
@ -153,16 +144,11 @@ void TestNotificationListener::testNotify()
uint replacesId = 99; uint replacesId = 99;
uint retId; uint retId;
int notificationId = 0;
QSignalSpy spy(plugin, &TestNotificationsPlugin::notificationPosted);
// regular Notify call that is synchronized ... // regular Notify call that is synchronized ...
retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{}}, 0);
// ... should return replacesId, // ... should return replacesId,
QCOMPARE(retId, replacesId); QCOMPARE(retId, replacesId);
// ... trigger a notificationPosted signal with incremented id
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.takeFirst().at(0).toString(), QString::number(++notificationId));
// ... and create a new application internally that is initialized correctly: // ... and create a new application internally that is initialized correctly:
QCOMPARE(listener->getApplications().count(), 1); QCOMPARE(listener->getApplications().count(), 1);
QVERIFY(listener->getApplications().contains("testApp")); QVERIFY(listener->getApplications().contains("testApp"));
@ -175,8 +161,6 @@ void TestNotificationListener::testNotify()
// another one, with other timeout and urgency values: // another one, with other timeout and urgency values:
retId = listener->Notify("testApp2", replacesId+1, "some-icon2", "summary2", "body2", {}, {{"urgency", 2}}, 10); retId = listener->Notify("testApp2", replacesId+1, "some-icon2", "summary2", "body2", {}, {{"urgency", 2}}, 10);
QCOMPARE(retId, replacesId+1); QCOMPARE(retId, replacesId+1);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.takeFirst().at(0).toString(), QString::number(++notificationId));
QCOMPARE(listener->getApplications().count(), 2); QCOMPARE(listener->getApplications().count(), 2);
QVERIFY(listener->getApplications().contains("testApp2")); QVERIFY(listener->getApplications().contains("testApp2"));
QVERIFY(listener->getApplications().contains("testApp")); QVERIFY(listener->getApplications().contains("testApp"));
@ -185,32 +169,23 @@ void TestNotificationListener::testNotify()
plugin->config()->set("generalPersistent", true); plugin->config()->set("generalPersistent", true);
retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{}}, 1); retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{}}, 1);
QCOMPARE(retId, 0U); QCOMPARE(retId, 0U);
QCOMPARE(spy.count(), 0);
retId = listener->Notify("testApp2", replacesId, "some-icon2", "summary2", "body2", {}, {{}}, 3); retId = listener->Notify("testApp2", replacesId, "some-icon2", "summary2", "body2", {}, {{}}, 3);
QCOMPARE(retId, 0U); QCOMPARE(retId, 0U);
QCOMPARE(spy.count(), 0);
// but timeout == 0 is // but timeout == 0 is
retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{}}, 0);
QCOMPARE(retId, replacesId); QCOMPARE(retId, replacesId);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.takeFirst().at(0).toString(), QString::number(++notificationId));
plugin->config()->set("generalPersistent", false); plugin->config()->set("generalPersistent", false);
// if min-urgency is set, lower urgency levels are not synced: // if min-urgency is set, lower urgency levels are not synced:
plugin->config()->set("generalUrgency", 1); plugin->config()->set("generalUrgency", 1);
retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{"urgency", 0}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{"urgency", 0}}, 0);
QCOMPARE(retId, 0U); QCOMPARE(retId, 0U);
QCOMPARE(spy.count(), 0);
// equal urgency is // equal urgency is
retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{"urgency", 1}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{"urgency", 1}}, 0);
QCOMPARE(retId, replacesId); QCOMPARE(retId, replacesId);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.takeFirst().at(0).toString(), QString::number(++notificationId));
// higher urgency as well // higher urgency as well
retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{"urgency", 2}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{"urgency", 2}}, 0);
QCOMPARE(retId, replacesId); QCOMPARE(retId, replacesId);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.takeFirst().at(0).toString(), QString::number(++notificationId));
plugin->config()->set("generalUrgency", 0); plugin->config()->set("generalUrgency", 0);
// notifications for a deactivated application are not synced: // notifications for a deactivated application are not synced:
@ -219,68 +194,47 @@ void TestNotificationListener::testNotify()
QVERIFY(!listener->getApplications()["testApp"].active); QVERIFY(!listener->getApplications()["testApp"].active);
retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{"urgency", 0}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{"urgency", 0}}, 0);
QCOMPARE(retId, 0U); QCOMPARE(retId, 0U);
QCOMPARE(spy.count(), 0);
// others are still: // others are still:
retId = listener->Notify("testApp2", replacesId+1, "some-icon2", "summary2", "body2", {}, {{}}, 0); retId = listener->Notify("testApp2", replacesId+1, "some-icon2", "summary2", "body2", {}, {{}}, 0);
QCOMPARE(retId, replacesId+1); QCOMPARE(retId, replacesId+1);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.takeFirst().at(0).toString(), QString::number(++notificationId));
// back to normal: // back to normal:
listener->getApplications()["testApp"].active = true; listener->getApplications()["testApp"].active = true;
QVERIFY(listener->getApplications()["testApp"].active); QVERIFY(listener->getApplications()["testApp"].active);
retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{}}, 0);
QCOMPARE(retId, replacesId); QCOMPARE(retId, replacesId);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.takeFirst().at(0).toString(), QString::number(++notificationId));
// notifications with blacklisted subjects are not synced: // notifications with blacklisted subjects are not synced:
QVERIFY(listener->getApplications().contains("testApp")); QVERIFY(listener->getApplications().contains("testApp"));
listener->getApplications()["testApp"].blacklistExpression.setPattern("black[12]|foo(bar|baz)"); listener->getApplications()["testApp"].blacklistExpression.setPattern("black[12]|foo(bar|baz)");
retId = listener->Notify("testApp", replacesId, "some-icon", "summary black1", "body", {}, {{}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary black1", "body", {}, {{}}, 0);
QCOMPARE(retId, 0U); QCOMPARE(retId, 0U);
QCOMPARE(spy.count(), 0);
retId = listener->Notify("testApp", replacesId, "some-icon", "summary foobar", "body", {}, {{}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary foobar", "body", {}, {{}}, 0);
QCOMPARE(retId, 0U); QCOMPARE(retId, 0U);
QCOMPARE(spy.count(), 0);
// other subjects are synced: // other subjects are synced:
retId = listener->Notify("testApp", replacesId, "some-icon", "summary foo", "body", {}, {{}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary foo", "body", {}, {{}}, 0);
QCOMPARE(retId, replacesId); QCOMPARE(retId, replacesId);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.takeFirst().at(0).toString(), QString::number(++notificationId));
retId = listener->Notify("testApp", replacesId, "some-icon", "summary black3", "body", {}, {{}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary black3", "body", {}, {{}}, 0);
QCOMPARE(retId, replacesId); QCOMPARE(retId, replacesId);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.takeFirst().at(0).toString(), QString::number(++notificationId));
// also body is checked by blacklist if requested: // also body is checked by blacklist if requested:
plugin->config()->set("generalIncludeBody", true); plugin->config()->set("generalIncludeBody", true);
retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body black1", {}, {{}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body black1", {}, {{}}, 0);
QCOMPARE(retId, 0U); QCOMPARE(retId, 0U);
QCOMPARE(spy.count(), 0);
retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body foobaz", {}, {{}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body foobaz", {}, {{}}, 0);
QCOMPARE(retId, 0U); QCOMPARE(retId, 0U);
QCOMPARE(spy.count(), 0);
// body does not matter if inclusion was not requested: // body does not matter if inclusion was not requested:
plugin->config()->set("generalIncludeBody", false); plugin->config()->set("generalIncludeBody", false);
retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body black1", {}, {{}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body black1", {}, {{}}, 0);
QCOMPARE(retId, replacesId); QCOMPARE(retId, replacesId);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.takeFirst().at(0).toString(), QString::number(++notificationId));
retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body foobaz", {}, {{}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body foobaz", {}, {{}}, 0);
QCOMPARE(retId, replacesId); QCOMPARE(retId, replacesId);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.takeFirst().at(0).toString(), QString::number(++notificationId));
// back to normal: // back to normal:
listener->getApplications()["testApp"].blacklistExpression.setPattern(""); listener->getApplications()["testApp"].blacklistExpression.setPattern("");
plugin->config()->set("generalIncludeBody", true); plugin->config()->set("generalIncludeBody", true);
retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{}}, 0); retId = listener->Notify("testApp", replacesId, "some-icon", "summary", "body", {}, {{}}, 0);
QCOMPARE(retId, replacesId); QCOMPARE(retId, replacesId);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.takeFirst().at(0).toString(), QString::number(++notificationId));
retId = listener->Notify("testApp2", replacesId, "some-icon2", "summary2", "body2", {}, {{}}, 0); retId = listener->Notify("testApp2", replacesId, "some-icon2", "summary2", "body2", {}, {{}}, 0);
QCOMPARE(retId, replacesId); QCOMPARE(retId, replacesId);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.takeFirst().at(0).toString(), QString::number(++notificationId));
} }