[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdepimlibs] kimap: Skip NIL values as they simply indicate no value.
From: Christian Mollekopf <chrigi_1 () fastmail ! fm>
Date: 2013-11-16 9:37:05
Message-ID: E1VhcJN-0008Cv-QL () scm ! kde ! org
[Download RAW message or body]
Git commit 0a0cde867d115feff66871a0c248224541022510 by Christian Mollekopf.
Committed on 16/11/2013 at 09:32.
Pushed by cmollekopf into branch 'master'.
Skip NIL values as they simply indicate no value.
M +6 -2 kimap/getmetadatajob.cpp
M +11 -0 kimap/tests/getmetadatajobtest.cpp
http://commits.kde.org/kdepimlibs/0a0cde867d115feff66871a0c248224541022510
diff --git a/kimap/getmetadatajob.cpp b/kimap/getmetadatajob.cpp
index 905a676..8c13fbb 100644
--- a/kimap/getmetadatajob.cpp
+++ b/kimap/getmetadatajob.cpp
@@ -146,10 +146,14 @@ void GetMetaDataJob::handleResponse( const Message &response )
} else if ( d->serverCapability == Metadata && response.content[1].toString() \
== "METADATA" ) {
QString mailBox = QString::fromUtf8( KIMAP::decodeImapFolderName( \
response.content[2].toString() ) );
- QList<QByteArray> entries = response.content[3].toList();
+ const QList<QByteArray> &entries = response.content[3].toList();
int i = 0;
while ( i < entries.size() - 1 ) {
- d->metadata[mailBox][entries[i]][""] = entries[i + 1];
+ const QByteArray &value = entries[i + 1];
+ QByteArray &targetValue = d->metadata[mailBox][entries[i]][""];
+ if ( value != "NIL" ) { //This just indicates no value
+ targetValue = value;
+ }
i += 2;
}
}
diff --git a/kimap/tests/getmetadatajobtest.cpp b/kimap/tests/getmetadatajobtest.cpp
index 395c83c..760aab3 100644
--- a/kimap/tests/getmetadatajobtest.cpp
+++ b/kimap/tests/getmetadatajobtest.cpp
@@ -64,6 +64,17 @@ void metadata_data()
expected.insert("/private/comment", "My own comment");
QTest::newRow( "combined response" ) << scenario << "Folder1" << expected;
}
+ {
+ QList<QByteArray> scenario;
+ scenario << FakeServer::preauth()
+ << "C: A000001 GETMETADATA \"Folder1\" (DEPTH infinity) (/shared)"
+ << "S: * METADATA \"Folder1\" (/shared/comment \"NIL\" /private/comment \
\"NIL\")" + << "S: A000001 OK GETMETADATA complete";
+ QMap<QByteArray, QByteArray> expected;
+ expected.insert("/shared/comment", "");
+ expected.insert("/private/comment", "");
+ QTest::newRow( "NIL response" ) << scenario << "Folder1" << expected;
+ }
}
void metadata()
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic