| 195 | } |
| 196 | |
| 197 | static 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 | |
| 232 | static void testCharsetDetection(String * path) |
| 233 | { |
no test coverage detected