summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/mime/mimetreeparser/autotests/nodehelpertest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/domain/mime/mimetreeparser/autotests/nodehelpertest.cpp')
-rw-r--r--framework/src/domain/mime/mimetreeparser/autotests/nodehelpertest.cpp182
1 files changed, 3 insertions, 179 deletions
diff --git a/framework/src/domain/mime/mimetreeparser/autotests/nodehelpertest.cpp b/framework/src/domain/mime/mimetreeparser/autotests/nodehelpertest.cpp
index 63e9119e..77f31f19 100644
--- a/framework/src/domain/mime/mimetreeparser/autotests/nodehelpertest.cpp
+++ b/framework/src/domain/mime/mimetreeparser/autotests/nodehelpertest.cpp
@@ -30,182 +30,6 @@ NodeHelperTest::NodeHelperTest()
30 30
31} 31}
32 32
33void NodeHelperTest::testPersistentIndex()
34{
35 NodeHelper helper;
36
37 KMime::Content *node = new KMime::Content();
38 KMime::Content *node2 = new KMime::Content();
39 KMime::Content *node2Extra = new KMime::Content();
40 KMime::Content *subNode = new KMime::Content();
41 KMime::Content *subsubNode = new KMime::Content(), *subsubNode2 = new KMime::Content();
42 KMime::Content *node2ExtraSubNode = new KMime::Content();
43 KMime::Content *node2ExtraSubsubNode = new KMime::Content();
44 KMime::Content *node2ExtraSubsubNode2 = new KMime::Content();
45 KMime::Content *extra = new KMime::Content(), *extra2 = new KMime::Content();
46 KMime::Content *subExtra = new KMime::Content();
47 KMime::Content *subsubExtra = new KMime::Content();
48 KMime::Content *subsubExtraNode = new KMime::Content();
49
50 subNode->addContent(subsubNode);
51 subNode->addContent(subsubNode2);
52 node->addContent(subNode);
53 subsubExtra->addContent(subsubExtraNode);
54 helper.attachExtraContent(node, extra);
55 helper.attachExtraContent(node, extra2);
56 helper.attachExtraContent(subNode, subExtra);
57 helper.attachExtraContent(subsubNode2, subsubExtra);
58
59 // This simulates Opaque S/MIME signed and encrypted message with attachment
60 // (attachment is node2SubsubNode2)
61 node2Extra->addContent(node2ExtraSubNode);
62 node2ExtraSubNode->addContent(node2ExtraSubsubNode);
63 node2ExtraSubNode->addContent(node2ExtraSubsubNode2);
64 helper.attachExtraContent(node2, node2Extra);
65
66 /* all content has a internal first child, so indexes starts at 2
67 * node ""
68 * -> subNode "2"
69 * -> subsubNode "2.2"
70 * -> subsubNode2 "2.3"
71 *
72 * node ""
73 * -> extra "e0"
74 * -> extra2 "e1"
75 *
76 * subNode "2"
77 * -> subExtra "2:e0"
78 *
79 * subsubNode2 "2.3"
80 * -> subsubExtra "2.3:e0"
81 * -> subsubExtraNode "2.3:e0:2"
82 *
83 * node2 ""
84 *
85 * node2 ""
86 * -> node2Extra "e0"
87 * -> node2ExtraSubNode "e0:2"
88 * -> node2ExtraSubsubNode "e0:2.2"
89 * -> node2ExtraSubsubNode2 "e0:2.3"
90 */
91
92 QCOMPARE(helper.persistentIndex(node), QStringLiteral(""));
93 QCOMPARE(helper.contentFromIndex(node, QStringLiteral("")), node);
94
95 QCOMPARE(helper.persistentIndex(node->contents()[0]), QStringLiteral("1"));
96 QCOMPARE(helper.contentFromIndex(node, QStringLiteral("1")), node->contents()[0]);
97
98 QCOMPARE(helper.persistentIndex(subNode), QStringLiteral("2"));
99 QCOMPARE(helper.contentFromIndex(node, QStringLiteral("2")), subNode);
100
101 QCOMPARE(helper.persistentIndex(subsubNode), QStringLiteral("2.2"));
102 QCOMPARE(helper.contentFromIndex(node, QStringLiteral("2.2")), subsubNode);
103
104 QCOMPARE(helper.persistentIndex(subsubNode2), QStringLiteral("2.3"));
105 QCOMPARE(helper.contentFromIndex(node, QStringLiteral("2.3")), subsubNode2);
106
107 QCOMPARE(helper.persistentIndex(extra), QStringLiteral("e0"));
108 QCOMPARE(helper.contentFromIndex(node, QStringLiteral("e0")), extra);
109
110 QCOMPARE(helper.persistentIndex(extra2), QStringLiteral("e1"));
111 QCOMPARE(helper.contentFromIndex(node, QStringLiteral("e1")), extra2);
112
113 QCOMPARE(helper.persistentIndex(subExtra), QStringLiteral("2:e0"));
114 QCOMPARE(helper.contentFromIndex(node, QStringLiteral("2:e0")), subExtra);
115
116 QCOMPARE(helper.persistentIndex(subsubExtra), QStringLiteral("2.3:e0"));
117 QCOMPARE(helper.contentFromIndex(node, QStringLiteral("2.3:e0")), subsubExtra);
118
119 QCOMPARE(helper.persistentIndex(subsubExtraNode), QStringLiteral("2.3:e0:2"));
120 QCOMPARE(helper.contentFromIndex(node, QStringLiteral("2.3:e0:2")), subsubExtraNode);
121
122 QCOMPARE(helper.persistentIndex(node2ExtraSubsubNode2), QStringLiteral("e0:2.3"));
123 QCOMPARE(helper.contentFromIndex(node2, QStringLiteral("e0:2.3")), node2ExtraSubsubNode2);
124
125 delete node;
126}
127
128void NodeHelperTest::testHREF()
129{
130 NodeHelper helper;
131 KMime::Message::Ptr msg(new KMime::Message);
132 QUrl url;
133
134 KMime::Content *node = msg->topLevel();
135 KMime::Content *subNode = new KMime::Content();
136 KMime::Content *subsubNode = new KMime::Content(), *subsubNode2 = new KMime::Content();
137 KMime::Content *extra = new KMime::Content(), *extra2 = new KMime::Content();
138 KMime::Content *subExtra = new KMime::Content();
139 KMime::Content *subsubExtra = new KMime::Content();
140 KMime::Content *subsubExtraNode = new KMime::Content();
141
142 subNode->addContent(subsubNode);
143 subNode->addContent(subsubNode2);
144 node->addContent(subNode);
145 subsubExtra->addContent(subsubExtraNode);
146 helper.attachExtraContent(node, extra);
147 helper.attachExtraContent(node, extra2);
148 helper.attachExtraContent(subNode, subExtra);
149 helper.attachExtraContent(subsubNode2, subsubExtra);
150
151 url = QUrl(QStringLiteral(""));
152 QCOMPARE(helper.fromHREF(msg, url), node);
153
154 url = QUrl(QStringLiteral("attachment:e0?place=body"));
155 QCOMPARE(helper.fromHREF(msg, url), extra);
156
157 url = QUrl(QStringLiteral("attachment:2.2?place=body"));
158 QCOMPARE(helper.fromHREF(msg, url), subsubNode);
159
160 url = QUrl(QStringLiteral("attachment:2.3:e0:2?place=body"));
161 QCOMPARE(helper.fromHREF(msg, url), subsubExtraNode);
162
163 QCOMPARE(helper.asHREF(node, QStringLiteral("body")), QStringLiteral("attachment:?place=body"));
164 QCOMPARE(helper.asHREF(extra, QStringLiteral("body")), QStringLiteral("attachment:e0?place=body"));
165 QCOMPARE(helper.asHREF(subsubNode, QStringLiteral("body")), QStringLiteral("attachment:2.2?place=body"));
166 QCOMPARE(helper.asHREF(subsubExtraNode, QStringLiteral("body")), QStringLiteral("attachment:2.3:e0:2?place=body"));
167}
168
169void NodeHelperTest::testLocalFiles()
170{
171 NodeHelper helper;
172 KMime::Message::Ptr msg(new KMime::Message);
173
174 KMime::Content *node = msg->topLevel();
175 KMime::Content *subNode = new KMime::Content();
176 KMime::Content *subsubNode = new KMime::Content(), *subsubNode2 = new KMime::Content();
177 KMime::Content *extra = new KMime::Content(), *extra2 = new KMime::Content();
178 KMime::Content *subExtra = new KMime::Content();
179 KMime::Content *subsubExtra = new KMime::Content();
180 KMime::Content *subsubExtraNode = new KMime::Content();
181
182 subNode->addContent(subsubNode);
183 subNode->addContent(subsubNode2);
184 node->addContent(subNode);
185 subsubExtra->addContent(subsubExtraNode);
186 helper.attachExtraContent(node, extra);
187 helper.attachExtraContent(node, extra2);
188 helper.attachExtraContent(subNode, subExtra);
189 helper.attachExtraContent(subsubNode2, subsubExtra);
190
191 // helper.writeNodeToTempFile(node);
192 // QCOMPARE(helper.fromHREF(msg, helper.tempFileUrlFromNode(node)), node);
193 // helper.writeNodeToTempFile(subNode);
194 // QCOMPARE(helper.fromHREF(msg, helper.tempFileUrlFromNode(subNode)), subNode);
195 // helper.writeNodeToTempFile(subsubNode);
196 // QCOMPARE(helper.fromHREF(msg, helper.tempFileUrlFromNode(subsubNode)), subsubNode);
197 // helper.writeNodeToTempFile(subsubNode2);
198 // QCOMPARE(helper.fromHREF(msg, helper.tempFileUrlFromNode(subsubNode2)), subsubNode2);
199 // helper.writeNodeToTempFile(extra);
200 // QCOMPARE(helper.fromHREF(msg, helper.tempFileUrlFromNode(extra)), extra);
201 // helper.writeNodeToTempFile(subExtra);
202 // QCOMPARE(helper.fromHREF(msg, helper.tempFileUrlFromNode(subExtra)), subExtra);
203 // helper.writeNodeToTempFile(subsubExtra);
204 // QCOMPARE(helper.fromHREF(msg, helper.tempFileUrlFromNode(subsubExtra)), subsubExtra);
205 // helper.writeNodeToTempFile(subsubExtraNode);
206 // QCOMPARE(helper.fromHREF(msg, helper.tempFileUrlFromNode(subsubExtraNode)), subsubExtraNode);
207}
208
209void NodeHelperTest::testFromAsString() 33void NodeHelperTest::testFromAsString()
210{ 34{
211 const QString tlSender = QStringLiteral("Foo <foo@example.com>"); 35 const QString tlSender = QStringLiteral("Foo <foo@example.com>");
@@ -241,12 +65,12 @@ void NodeHelperTest::testFromAsString()
241 node->addContent(encMsg); 65 node->addContent(encMsg);
242 encNode->addContent(encSubNode); 66 encNode->addContent(encSubNode);
243 67
244 helper.attachExtraContent(subNode, subExtra); 68 // helper.attachExtraContent(subNode, subExtra);
245 helper.attachExtraContent(encSubNode, encSubExtra); 69 // helper.attachExtraContent(encSubNode, encSubExtra);
246 70
247 QCOMPARE(helper.fromAsString(node), tlSender); 71 QCOMPARE(helper.fromAsString(node), tlSender);
248 QCOMPARE(helper.fromAsString(subNode), tlSender); 72 QCOMPARE(helper.fromAsString(subNode), tlSender);
249 QCOMPARE(helper.fromAsString(subExtra), tlSender); 73 // QCOMPARE(helper.fromAsString(subExtra), tlSender);
250 QEXPECT_FAIL("", "Returning sender of encapsulated message is not yet implemented", Continue); 74 QEXPECT_FAIL("", "Returning sender of encapsulated message is not yet implemented", Continue);
251 QCOMPARE(helper.fromAsString(encNode), encSender); 75 QCOMPARE(helper.fromAsString(encNode), encSender);
252 QEXPECT_FAIL("", "Returning sender of encapsulated message is not yet implemented", Continue); 76 QEXPECT_FAIL("", "Returning sender of encapsulated message is not yet implemented", Continue);