aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMichael Zucci <zucchi@src.gnome.org>2000-04-23 18:09:07 +0800
committerMichael Zucci <zucchi@src.gnome.org>2000-04-23 18:09:07 +0800
commitf229f08168b0666469e0fc35d065860f2da58303 (patch)
treeaaa276cb7824e32163ae4b29c9ea8192f3f53d52 /tests
parent76160580a6429905edbbfbbd9902bd4fab3474b6 (diff)
downloadgsoc2013-evolution-f229f08168b0666469e0fc35d065860f2da58303.tar.gz
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.am3
-rw-r--r--tests/test1.c2
-rw-r--r--tests/test13.c127
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;
+
+}