[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [ruqola] /: Fix autotest + add support for aliases
From:       Laurent Montel <null () kde ! org>
Date:       2018-01-31 21:23:36
Message-ID: E1egzqy-0002ZK-Es () code ! kde ! org
[Download RAW message or body]

Git commit 3c92715af483aee236e73690aa9c1798c01764e8 by Laurent Montel.
Committed on 31/01/2018 at 20:46.
Pushed by mlaurent into branch 'master'.

Fix autotest + add support for aliases

M  +8    -4    autotests/emojimanagertest.cpp
M  +5    -5    autotests/emojitest.cpp
M  +6    -1    src/emoji.cpp
M  +1    -0    src/emoji.h
M  +1    -1    src/emojimanager.cpp

https://commits.kde.org/ruqola/3c92715af483aee236e73690aa9c1798c01764e8

diff --git a/autotests/emojimanagertest.cpp b/autotests/emojimanagertest.cpp
index b7e3233..7018946 100644
--- a/autotests/emojimanagertest.cpp
+++ b/autotests/emojimanagertest.cpp
@@ -82,10 +82,14 @@ void EmojiManagerTest::shouldGenerateHtml()
     QCOMPARE(manager.html(QStringLiteral(":foo:")), QStringLiteral(":foo:"));
 
     //It exists
-    QCOMPARE(manager.html(QStringLiteral(":react_rocket:")), QStringLiteral("<img \
height='22' width='22' src='www.kde.org/emoji-custom/react_rocket.png'/>")); +    \
QCOMPARE(manager.html(QStringLiteral(":react_rocket:")), QStringLiteral("<img \
height='22' width='22' src='http://www.kde.org/emoji-custom/react_rocket.png'/>"));  
 
-    QCOMPARE(manager.html(QStringLiteral(":totoro:")), QStringLiteral("<img \
height='22' width='22' src='www.kde.org/emoji-custom/totoro.gif'/>")); +    \
QCOMPARE(manager.html(QStringLiteral(":totoro:")), QStringLiteral("<img height='22' \
width='22' src='http://www.kde.org/emoji-custom/totoro.gif'/>")); +
+    //Test aliases
+    QCOMPARE(manager.html(QStringLiteral(":clap:")), QStringLiteral("<img \
height='22' width='22' src='http://www.kde.org/emoji-custom/clapping.gif'/>")); +    \
QCOMPARE(manager.html(QStringLiteral(":clapping:")), QStringLiteral("<img height='22' \
width='22' src='http://www.kde.org/emoji-custom/clapping.gif'/>"));  }
 
 void EmojiManagerTest::shouldChangeServerUrl()
@@ -103,11 +107,11 @@ void EmojiManagerTest::shouldChangeServerUrl()
     manager.setServerUrl(serverUrl);
 
     //It exists
-    QCOMPARE(manager.html(QStringLiteral(":react_rocket:")), QStringLiteral("<img \
height='22' width='22' src='%1/emoji-custom/react_rocket.png'/>").arg(serverUrl)); +  \
QCOMPARE(manager.html(QStringLiteral(":react_rocket:")), QStringLiteral("<img \
height='22' width='22' \
src='http://%1/emoji-custom/react_rocket.png'/>").arg(serverUrl));  
     //Change server url => clear cache
     serverUrl = QStringLiteral("www.bla.org");
     manager.setServerUrl(serverUrl);
-    QCOMPARE(manager.html(QStringLiteral(":react_rocket:")), QStringLiteral("<img \
height='22' width='22' src='%1/emoji-custom/react_rocket.png'/>").arg(serverUrl)); +  \
QCOMPARE(manager.html(QStringLiteral(":react_rocket:")), QStringLiteral("<img \
height='22' width='22' \
src='http://%1/emoji-custom/react_rocket.png'/>").arg(serverUrl));  
 }
diff --git a/autotests/emojitest.cpp b/autotests/emojitest.cpp
index c4a7a30..bb83bf3 100644
--- a/autotests/emojitest.cpp
+++ b/autotests/emojitest.cpp
@@ -46,7 +46,7 @@ void EmojiTest::shouldAssignValue()
     const QString ext{QStringLiteral("foo")};
     const QString id{QStringLiteral("bla")};
     const QString name{QStringLiteral("bli")};
-    const QStringList aliases{QStringLiteral("foo"), QStringLiteral("bla")};
+    const QStringList aliases{QStringLiteral(":foo:"), QStringLiteral(":bla:")};
     j.setExtension(ext);
     j.setName(name);
     j.setIdentifier(id);
@@ -68,7 +68,7 @@ void EmojiTest::shouldCopyValue()
     const QString ext{QStringLiteral("foo")};
     const QString id{QStringLiteral("bla")};
     const QString name{QStringLiteral("bli")};
-    const QStringList aliases{QStringLiteral("foo"), QStringLiteral("bla")};
+    const QStringList aliases{QStringLiteral(":foo:"), QStringLiteral(":bla:")};
     j.setExtension(ext);
     j.setName(name);
     j.setIdentifier(id);
@@ -86,7 +86,7 @@ void EmojiTest::shouldClearCachedHtml()
     emojiRef.setExtension(QStringLiteral("gif"));
     emojiRef.setName(QStringLiteral("clapping"));
     emojiRef.setIdentifier(QStringLiteral("scSbxNPzm9xWrNqCG"));
-    emojiRef.setAliases(QStringList{QStringLiteral("clap")});
+    emojiRef.setAliases(QStringList{QStringLiteral(":clap:")});
     emojiRef.setEmojiIdentifier(QStringLiteral(":clapping:"));
 
     const QString cachedHtml = emojiRef.html(QStringLiteral("www.kde.org"));
@@ -116,7 +116,7 @@ void EmojiTest::shouldParseEmoji_data()
         emojiRef.setExtension(QStringLiteral("gif"));
         emojiRef.setName(QStringLiteral("clapping"));
         emojiRef.setIdentifier(QStringLiteral("scSbxNPzm9xWrNqCG"));
-        emojiRef.setAliases(QStringList{QStringLiteral("clap")});
+        emojiRef.setAliases(QStringList{QStringLiteral(":clap:")});
         emojiRef.setEmojiIdentifier(QStringLiteral(":clapping:"));
         QTest::addRow("emojialias") << QStringLiteral("emojialias") << emojiRef;
     }
@@ -156,7 +156,7 @@ void EmojiTest::shouldGenerateHtml_data()
         emojiRef.setIdentifier(QStringLiteral("scSbxNPzm9xWrNqCG"));
         emojiRef.setAliases(QStringList{QStringLiteral("clap")});
         emojiRef.setEmojiIdentifier(QStringLiteral(":clapping:"));
-        QTest::addRow("emoji") << emojiRef << QStringLiteral("www.kde.org") << \
QStringLiteral("<img height='22' width='22' \
src='www.kde.org/emoji-custom/clapping.gif'/>"); +        QTest::addRow("emoji") << \
emojiRef << QStringLiteral("www.kde.org") << QStringLiteral("<img height='22' \
width='22' src='http://www.kde.org/emoji-custom/clapping.gif'/>");  }
 }
 
diff --git a/src/emoji.cpp b/src/emoji.cpp
index 231bd3c..004f4eb 100644
--- a/src/emoji.cpp
+++ b/src/emoji.cpp
@@ -30,6 +30,11 @@ Emoji::~Emoji()
 {
 }
 
+bool Emoji::hasEmoji(const QString &identifier) const
+{
+    return ((mEmojiIdentifier == identifier) || mAliases.contains(identifier));
+}
+
 void Emoji::parseEmoji(const QJsonObject &emoji)
 {
     mIdentifier = emoji.value(QLatin1String("_id")).toString();
@@ -41,7 +46,7 @@ void Emoji::parseEmoji(const QJsonObject &emoji)
     QStringList lst;
     lst.reserve(arrayCount);
     for (int i = 0; i < arrayCount; ++i) {
-        lst.append(array.at(i).toString());
+        lst.append(QLatin1Char(':') + array.at(i).toString() + QLatin1Char(':'));
     }
     mAliases = lst;
     //TODO updated when we will store data on system
diff --git a/src/emoji.h b/src/emoji.h
index acf4154..20489c4 100644
--- a/src/emoji.h
+++ b/src/emoji.h
@@ -62,6 +62,7 @@ public:
     QString cachedHtml() const;
 
     void clearCachedHtml();
+    bool hasEmoji(const QString &identifier) const;
 private:
     QString mEmojiIdentifier;
     QString mIdentifier;
diff --git a/src/emojimanager.cpp b/src/emojimanager.cpp
index c3e3896..8dd1070 100644
--- a/src/emojimanager.cpp
+++ b/src/emojimanager.cpp
@@ -62,7 +62,7 @@ QString EmojiManager::html(const QString &emojiIdentifier)
     if (emojiIdentifier.startsWith(QLatin1Char(':')) && \
emojiIdentifier.endsWith(QLatin1Char(':'))) {  for (int i = 0, total = \
mEmojiList.size(); i < total; ++i) {  //TODO check aliases too ?
-            if (mEmojiList.at(i).emojiIdentifier() == emojiIdentifier) {
+            if (mEmojiList.at(i).hasEmoji(emojiIdentifier)) {
                 QString cachedHtml = mEmojiList.at(i).cachedHtml();
                 if (cachedHtml.isEmpty()) {
                     Emoji emoji = mEmojiList[i];


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic