diff options
author | Michael Zucci <zucchi@src.gnome.org> | 2000-04-23 18:09:07 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2000-04-23 18:09:07 +0800 |
commit | f229f08168b0666469e0fc35d065860f2da58303 (patch) | |
tree | aaa276cb7824e32163ae4b29c9ea8192f3f53d52 /tests | |
parent | 76160580a6429905edbbfbbd9902bd4fab3474b6 (diff) | |
download | gsoc2013-evolution-f229f08168b0666469e0fc35d065860f2da58303.tar gsoc2013-evolution-f229f08168b0666469e0fc35d065860f2da58303.tar.gz gsoc2013-evolution-f229f08168b0666469e0fc35d065860f2da58303.tar.bz2 gsoc2013-evolution-f229f08168b0666469e0fc35d065860f2da58303.tar.lz gsoc2013-evolution-f229f08168b0666469e0fc35d065860f2da58303.tar.xz gsoc2013-evolution-f229f08168b0666469e0fc35d065860f2da58303.tar.zst gsoc2013-evolution-f229f08168b0666469e0fc35d065860f2da58303.zip |
New tests/fixed tests.
svn path=/trunk/; revision=2559
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 3 | ||||
-rw-r--r-- | tests/test1.c | 2 | ||||
-rw-r--r-- | tests/test13.c | 127 |
3 files changed, 130 insertions, 2 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 358cd3397d..ad8e26ceea 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -58,11 +58,12 @@ noinst_PROGRAMS = \ test2 \ test3 \ test7 \ - test10 \ test11 \ + test13 \ test-movemail \ test-url \ $(THREAD_RELATED_TESTS) +# test10 \ # test12 \ # test-formatter diff --git a/tests/test1.c b/tests/test1.c index b9caf20475..58f5bbef27 100644 --- a/tests/test1.c +++ b/tests/test1.c @@ -51,7 +51,7 @@ main (int argc, char**argv) camel_medium_add_header (CAMEL_MEDIUM (message), "X-test2", "the value of another test"); /*camel_mime_part_add_content_language (CAMEL_MIME_PART (message), g_string_new ("es-ca"));*/ - camel_mime_message_set_received_date (message, g_strdup ("Thu, 20 May 1999, 10:39:14 +0200")); + camel_mime_message_set_date (message, CAMEL_MESSAGE_DATE_CURRENT, 0); camel_mime_message_set_subject (message, g_strdup ("A test message")); camel_mime_message_set_reply_to (message, g_strdup ("toto@toto.com")); camel_mime_message_set_from (message, g_strdup ("Bertrand.Guiheneuf@aful.org")); diff --git a/tests/test13.c b/tests/test13.c new file mode 100644 index 0000000000..ab86ca4528 --- /dev/null +++ b/tests/test13.c @@ -0,0 +1,127 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* tests mime message file parsing */ +#include "gmime-utils.h" +#include "stdio.h" +#include "camel-mime-message.h" +#include "camel-mime-part.h" +#include "camel-stream.h" +#include "camel-stream-fs.h" +#include "camel.h" + + +static void +dump_message_content(CamelDataWrapper *object) +{ + CamelDataWrapper *containee; + CamelStream *stream; + int parts, i; + int len; + int left; + char buffer[128]; + + printf("Dumping message ..."); + + containee = camel_medium_get_content_object(CAMEL_MEDIUM(object)); + + if (containee) { + char *type = gmime_content_field_get_mime_type(containee->mime_type); + + printf("type = %s\n", type); + + if (CAMEL_IS_MULTIPART(containee)) { + parts = camel_multipart_get_number (CAMEL_MULTIPART(containee)); + printf("multipart message, scanning contents %d parts ...\n", parts); + for (i=0;i<parts;i++) { + dump_message_content(CAMEL_DATA_WRAPPER (camel_multipart_get_part(CAMEL_MULTIPART(containee), i))); + } + } else if (CAMEL_IS_MIME_MESSAGE(containee)) { + dump_message_content((CamelDataWrapper *)containee); + } else { + int total=0; + + stream = camel_data_wrapper_get_output_stream(containee); + left = 0; + + if (stream) { + while ( (len = camel_stream_read(stream, buffer+left, sizeof(buffer)-left)) > 0) { + fwrite(buffer, len, 1, stdout); + } + printf("\n"); + } else { + g_warning("cannot get stream for message?"); + } + } + + g_free(type); + } else { + printf("no containee?\n"); + } +} + +int +main (int argc, char**argv) +{ + GHashTable *header_table; + CamelMimeMessage *message; + CamelStream *input_stream, *output_stream; + CamelMimeParser *parser; + + gtk_init (&argc, &argv); + camel_init (); + +/* should have another program to test all this internationalisation/header parsing stuff */ +#if 0 + { + char *s, *o; + s = "This is a test, simple ascii text"; + o = header_encode_string(s); + printf("%s -> %s\n", s, o); + s = "To: Markus \"DÅhr\" <doehrm@aubi.de>"; + o = header_encode_string(s); + printf("%s -> %s\n", s, o); + + s = "From: =?iso-8859-1?Q?Kenneth_ll=E9phaane_Christiansen?= <kenneth@ripen.dk>"; + o = header_encode_string(s); + printf("%s -> %s\n", s, o); + + printf("decoding ... \n"); + s = "From: =?iso-8859-1?Q?Kenneth_ll=E9phaane_Christiansen?= <kenneth@ripen.dk>"; + o = header_decode_string(s); + printf("%s -> %s\n", s, o); + + printf("reencoded\n"); + s = header_encode_string(o); + printf("%s -> %s\n", o, s); + return 0; + } +#endif + + message = camel_mime_message_new (); + + + input_stream = camel_stream_fs_new_with_name ("mail.test", CAMEL_STREAM_FS_READ); + if (!input_stream) { + perror ("could not open input file\n"); + printf ("You must create the file mail.test before running this test\n"); + exit(2); + } + + printf("creating parser to create message\n"); + parser = camel_mime_parser_new(); + camel_mime_parser_init_with_stream(parser, input_stream); + camel_data_wrapper_construct_from_parser(message, parser); + + dump_message_content(message); + + camel_stream_close (input_stream); + gtk_object_unref (GTK_OBJECT (input_stream)); + + output_stream = camel_stream_fs_new_with_name ("mail2.test", CAMEL_STREAM_FS_WRITE); + camel_data_wrapper_write_to_stream (CAMEL_DATA_WRAPPER (message), output_stream); + camel_stream_close (output_stream); + gtk_object_unref (GTK_OBJECT (output_stream)); + + //gtk_object_unref (GTK_OBJECT (message)); + return 0; + +} |