MCPcopy Create free account
hub / github.com/MailCore/mailcore2 / testMessageParser

Function testMessageParser

unittest/unittest.cpp:197–230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

195}
196
197static void testMessageParser(String * path)
198{
199 printf("testMessageParser\n");
200 String * inputPath = path->stringByAppendingPathComponent(MCSTR("input"));
201 String * outputPath = path->stringByAppendingPathComponent(MCSTR("output"));
202 Array * list = pathsInDirectory(inputPath);
203 int failure = 0;
204 int success = 0;
205 mc_foreacharray(String, filename, list) {
206 MessageParser * parser = MessageParser::messageParserWithContentsOfFile(filename);
207 prepareHeaderForUnitTest(parser->header());
208 preparePartForUnitTest(parser->mainPart());
209 HashMap * result = parser->serializable();
210 String * expectedPath = outputPath->stringByAppendingPathComponent(filename->substringFromIndex(inputPath->length()));
211 //fprintf(stderr, "expected: %s\n", MCUTF8(expectedPath));
212 HashMap * expectedResult = (HashMap *) JSON::objectFromJSONData(Data::dataWithContentsOfFile(expectedPath));
213 if (result->isEqual(expectedResult)) {
214 success ++;
215 }
216 else {
217 fprintf(stderr, "testMessageParser: failed for %s\n", MCUTF8(filename));
218 fprintf(stderr, "expected: %s\n", MCUTF8(expectedResult));
219 fprintf(stderr, "got: %s\n", MCUTF8(result));
220 failure ++;
221 }
222 }
223 if (failure > 0) {
224 printf("testMessageParser ok: %i succeeded, %i failed\n", success, failure);
225 global_failure ++;
226 return;
227 }
228 printf("testMessageParser ok: %i succeeded\n", success);
229 global_success ++;
230}
231
232static void testCharsetDetection(String * path)
233{

Callers 1

mainFunction · 0.70

Calls 2

pathsInDirectoryFunction · 0.85

Tested by

no test coverage detected