summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSandro Knauß <sknauss@kde.org>2016-07-26 13:52:06 +0200
committerSandro Knauß <sknauss@kde.org>2016-07-26 13:52:06 +0200
commit0272f1e8bb7f8c86c86958e3e022aac8b34a266c (patch)
tree771598fb40fbec6fa97c060b236173d7bf08f821
parent903960116eb3329631702723bba11f5463eff573 (diff)
downloadkube-0272f1e8bb7f8c86c86958e3e022aac8b34a266c.tar.gz
kube-0272f1e8bb7f8c86c86958e3e022aac8b34a266c.zip
make the tests compile again
-rw-r--r--framework/domain/mimetreeparser/interface.cpp107
-rw-r--r--framework/domain/mimetreeparser/interface.h4
-rw-r--r--framework/domain/mimetreeparser/tests/interfacetest.cpp10
3 files changed, 115 insertions, 6 deletions
diff --git a/framework/domain/mimetreeparser/interface.cpp b/framework/domain/mimetreeparser/interface.cpp
index 5cf36d10..a76a6cde 100644
--- a/framework/domain/mimetreeparser/interface.cpp
+++ b/framework/domain/mimetreeparser/interface.cpp
@@ -28,8 +28,77 @@
28#include <MimeTreeParser/MessagePart> 28#include <MimeTreeParser/MessagePart>
29#include <MimeTreeParser/NodeHelper> 29#include <MimeTreeParser/NodeHelper>
30 30
31#include <QMimeDatabase>
32#include <QMimeType>
31#include <QDebug> 33#include <QDebug>
32 34
35class MailMimePrivate
36{
37public:
38 KMime::Content *mNode;
39 MailMime *q;
40};
41
42MailMime::MailMime()
43 : d(std::unique_ptr<MailMimePrivate>(new MailMimePrivate()))
44{
45 d->q = this;
46}
47
48bool MailMime::isFirstTextPart() const
49{
50 if (!d->mNode) {
51 return false;
52 }
53 return (d->mNode->topLevel()->textContent() == d->mNode);
54}
55
56MailMime::Disposition MailMime::disposition() const
57{
58 if (!d->mNode) {
59 return Invalid;
60 }
61 const auto cd = d->mNode->contentDisposition(false);
62 if (!cd) {
63 return Invalid;
64 }
65 switch (cd->disposition()){
66 case KMime::Headers::CDinline:
67 return Inline;
68 case KMime::Headers::CDattachment:
69 return Attachment;
70 default:
71 return Invalid;
72 }
73}
74
75QString MailMime::filename() const
76{
77 if (!d->mNode) {
78 return QString();
79 }
80 const auto cd = d->mNode->contentDisposition(false);
81 if (!cd) {
82 return QString();
83 }
84 return cd->filename();
85}
86
87QMimeType MailMime::mimetype() const
88{
89 if (!d->mNode) {
90 return QMimeType();
91 }
92
93 const auto ct = d->mNode->contentType(false);
94 if (!ct) {
95 return QMimeType();
96 }
97
98 QMimeDatabase mimeDb;
99 return mimeDb.mimeTypeForName(ct->mimeType());
100}
101
33class PartPrivate 102class PartPrivate
34{ 103{
35public: 104public:
@@ -39,10 +108,13 @@ public:
39 QVector<Part::Ptr> subParts(); 108 QVector<Part::Ptr> subParts();
40 109
41 Part *parent() const; 110 Part *parent() const;
111
112 const MailMime::Ptr &mailMime() const;
42private: 113private:
43 Part *q; 114 Part *q;
44 Part *mParent; 115 Part *mParent;
45 QVector<Part::Ptr> mSubParts; 116 QVector<Part::Ptr> mSubParts;
117 MailMime::Ptr mMailMime;
46}; 118};
47 119
48PartPrivate::PartPrivate(Part* part) 120PartPrivate::PartPrivate(Part* part)
@@ -68,6 +140,11 @@ QVector< Part::Ptr > PartPrivate::subParts()
68 return mSubParts; 140 return mSubParts;
69} 141}
70 142
143const MailMime::Ptr& PartPrivate::mailMime() const
144{
145 return mMailMime;
146}
147
71Part::Part() 148Part::Part()
72 : d(std::unique_ptr<PartPrivate>(new PartPrivate(this))) 149 : d(std::unique_ptr<PartPrivate>(new PartPrivate(this)))
73{ 150{
@@ -96,6 +173,11 @@ QVector<QByteArray> Part::availableContents() const
96 173
97QVector<Content::Ptr> Part::content() const 174QVector<Content::Ptr> Part::content() const
98{ 175{
176 return content(availableContents().first());
177}
178
179QVector<Content::Ptr> Part::content(const QByteArray& ct) const
180{
99 return QVector<Content::Ptr>(); 181 return QVector<Content::Ptr>();
100} 182}
101 183
@@ -119,6 +201,11 @@ QVector<Signature> Part::signatures() const
119 } 201 }
120} 202}
121 203
204MailMime::Ptr Part::mailMime() const
205{
206 return d->mailMime();
207}
208
122class ContentPrivate 209class ContentPrivate
123{ 210{
124public: 211public:
@@ -126,6 +213,7 @@ public:
126 QByteArray mCodec; 213 QByteArray mCodec;
127 Part *mParent; 214 Part *mParent;
128 Content *q; 215 Content *q;
216 MailMime::Ptr mMailMime;
129}; 217};
130 218
131Content::Content(const QByteArray& content, Part *parent) 219Content::Content(const QByteArray& content, Part *parent)
@@ -167,18 +255,37 @@ QByteArray Content::charset() const
167 return d->mCodec; 255 return d->mCodec;
168} 256}
169 257
258QByteArray Content::type() const
259{
260 return "Content";
261}
262
263MailMime::Ptr Content::mailMime() const
264{
265 return d->mMailMime;
266}
267
170HtmlContent::HtmlContent(const QByteArray& content, Part* parent) 268HtmlContent::HtmlContent(const QByteArray& content, Part* parent)
171 : Content(content, parent) 269 : Content(content, parent)
172{ 270{
173 271
174} 272}
175 273
274QByteArray HtmlContent::type() const
275{
276 return "HtmlContent";
277}
278
176PlainTextContent::PlainTextContent(const QByteArray& content, Part* parent) 279PlainTextContent::PlainTextContent(const QByteArray& content, Part* parent)
177 : Content(content, parent) 280 : Content(content, parent)
178{ 281{
179 282
180} 283}
181 284
285QByteArray PlainTextContent::type() const
286{
287 return "PlainTextContent";
288}
182 289
183class AlternativePartPrivate 290class AlternativePartPrivate
184{ 291{
diff --git a/framework/domain/mimetreeparser/interface.h b/framework/domain/mimetreeparser/interface.h
index f6ee41ee..c71b86d6 100644
--- a/framework/domain/mimetreeparser/interface.h
+++ b/framework/domain/mimetreeparser/interface.h
@@ -75,13 +75,15 @@ public:
75 Attachment ///< attachment 75 Attachment ///< attachment
76 }; 76 };
77 77
78 MailMime();
79
78 // interessting header parts of a KMime::Content 80 // interessting header parts of a KMime::Content
79 QMimeType mimetype() const; 81 QMimeType mimetype() const;
80 Disposition disposition() const; 82 Disposition disposition() const;
81 QUrl label() const; 83 QUrl label() const;
82 QByteArray cid() const; 84 QByteArray cid() const;
83 QByteArray charset() const; 85 QByteArray charset() const;
84 QByteArray filename() const; 86 QString filename() const;
85 87
86 // Unique identifier to ecactly this KMime::Content 88 // Unique identifier to ecactly this KMime::Content
87 QByteArray link() const; 89 QByteArray link() const;
diff --git a/framework/domain/mimetreeparser/tests/interfacetest.cpp b/framework/domain/mimetreeparser/tests/interfacetest.cpp
index 822d530c..83de97f7 100644
--- a/framework/domain/mimetreeparser/tests/interfacetest.cpp
+++ b/framework/domain/mimetreeparser/tests/interfacetest.cpp
@@ -52,7 +52,7 @@ private slots:
52 QCOMPARE(contentPartList.size(), 1); 52 QCOMPARE(contentPartList.size(), 1);
53 auto contentPart = contentPartList[0]; 53 auto contentPart = contentPartList[0];
54 QVERIFY((bool)contentPart); 54 QVERIFY((bool)contentPart);
55 QCOMPARE(contentPart->availableContents(), "plaintext"); 55 QCOMPARE(contentPart->availableContents(), QVector<QByteArray>() << "plaintext");
56 auto contentList = contentPart->content("plaintext"); 56 auto contentList = contentPart->content("plaintext");
57 QCOMPARE(contentList.size(), 1); 57 QCOMPARE(contentList.size(), 1);
58 QCOMPARE(contentList[0]->content(), QStringLiteral("If you can see this text it means that your email client couldn't display our newsletter properly.\nPlease visit this link to view the newsletter on our website: http://www.gog.com/newsletter/").toLocal8Bit()); 58 QCOMPARE(contentList[0]->content(), QStringLiteral("If you can see this text it means that your email client couldn't display our newsletter properly.\nPlease visit this link to view the newsletter on our website: http://www.gog.com/newsletter/").toLocal8Bit());
@@ -94,7 +94,7 @@ private slots:
94 QCOMPARE(contentPartList.size(), 1); 94 QCOMPARE(contentPartList.size(), 1);
95 auto contentPart = contentPartList[0]; 95 auto contentPart = contentPartList[0];
96 QVERIFY((bool)contentPart); 96 QVERIFY((bool)contentPart);
97 QCOMPARE(contentPart->availableContents(), "html"); 97 QCOMPARE(contentPart->availableContents(), QVector<QByteArray>() << "html");
98 98
99 auto contentList = contentPart->content("plaintext"); 99 auto contentList = contentPart->content("plaintext");
100 QCOMPARE(contentList.size(), 0); 100 QCOMPARE(contentList.size(), 0);
@@ -115,7 +115,7 @@ private slots:
115 QCOMPARE(contentPartList.size(), 1); 115 QCOMPARE(contentPartList.size(), 1);
116 auto contentPart = contentPartList[0]; 116 auto contentPart = contentPartList[0];
117 QVERIFY((bool)contentPart); 117 QVERIFY((bool)contentPart);
118 QCOMPARE(contentPart->availableContents(), "plaintext"); 118 QCOMPARE(contentPart->availableContents(), QVector<QByteArray>() << "plaintext");
119 auto contentList = contentPart->content("plaintext"); 119 auto contentList = contentPart->content("plaintext");
120 QCOMPARE(contentList.size(), 1); 120 QCOMPARE(contentList.size(), 1);
121 QCOMPARE(contentList[0]->content(), QStringLiteral("The quick brown fox jumped over the lazy dog.").toLocal8Bit()); 121 QCOMPARE(contentList[0]->content(), QStringLiteral("The quick brown fox jumped over the lazy dog.").toLocal8Bit());
@@ -130,7 +130,7 @@ private slots:
130 QCOMPARE(contentPartList.size(), 1); 130 QCOMPARE(contentPartList.size(), 1);
131 auto contentPart = contentPartList[0]; 131 auto contentPart = contentPartList[0];
132 QVERIFY((bool)contentPart); 132 QVERIFY((bool)contentPart);
133 QCOMPARE(contentPart->availableContents(), "plaintext"); 133 QCOMPARE(contentPart->availableContents(), QVector<QByteArray>() << "plaintext");
134 auto contentList = contentPart->content("plaintext"); 134 auto contentList = contentPart->content("plaintext");
135 QCOMPARE(contentList.size(), 1); 135 QCOMPARE(contentList.size(), 1);
136 QCOMPARE(contentList[0]->content(), QStringLiteral("test text").toLocal8Bit()); 136 QCOMPARE(contentList[0]->content(), QStringLiteral("test text").toLocal8Bit());
@@ -145,7 +145,7 @@ private slots:
145 QCOMPARE(contentPartList.size(), 1); 145 QCOMPARE(contentPartList.size(), 1);
146 auto contentPart = contentPartList[0]; 146 auto contentPart = contentPartList[0];
147 QVERIFY((bool)contentPart); 147 QVERIFY((bool)contentPart);
148 QCOMPARE(contentPart->availableContents(), "plaintext"); 148 QCOMPARE(contentPart->availableContents(), QVector<QByteArray>() << "plaintext");
149 auto contentList = contentPart->content("plaintext"); 149 auto contentList = contentPart->content("plaintext");
150 QCOMPARE(contentList.size(), 1); 150 QCOMPARE(contentList.size(), 1);
151 QCOMPARE(contentList[0]->content(), QStringLiteral("asdasd asd asd asdf sadf sdaf sadf äöü").toLocal8Bit()); 151 QCOMPARE(contentList[0]->content(), QStringLiteral("asdasd asd asd asdf sadf sdaf sadf äöü").toLocal8Bit());