diff options
| author | Matthew Barnes <mbarnes@redhat.com> | 2011-03-22 13:57:21 -0400 |
|---|---|---|
| committer | Matthew Barnes <mbarnes@redhat.com> | 2011-03-22 15:50:04 -0400 |
| commit | 450e98c83234f6d82f46c0124f874f47b785923f (patch) | |
| tree | 3e07b75868d85abff88b05e261b3fa97069c1874 /tests/libebook/vcard | |
| parent | 99f96227311145922e3d0319dd9b3aed2e784584 (diff) | |
| download | evolution-data-server-450e98c83234f6d82f46c0124f874f47b785923f.tar.gz | |
Collect all test code into a top-level "tests" directory
This includes both automated unit tests and standalone demo programs.
Test code is partitioned by library. So far we have:
tests/libebook
tests/libecal
tests/libedata-cal
tests/libedataserver
tests/libedataserverui
This makes for a natural place to put additional E-D-S test code, but
still have it compartmentalized in one place (excluding Camel, which is
still tagging along with E-D-S but is not really part of E-D-S).
Diffstat (limited to 'tests/libebook/vcard')
| -rw-r--r-- | tests/libebook/vcard/1.vcf | 12 | ||||
| -rw-r--r-- | tests/libebook/vcard/10.vcf | 9 | ||||
| -rw-r--r-- | tests/libebook/vcard/11.vcf | 9 | ||||
| -rw-r--r-- | tests/libebook/vcard/12.vcf | 23 | ||||
| -rw-r--r-- | tests/libebook/vcard/13.vcf | 23 | ||||
| -rw-r--r-- | tests/libebook/vcard/2.vcf | 10 | ||||
| -rw-r--r-- | tests/libebook/vcard/3.vcf | 13 | ||||
| -rw-r--r-- | tests/libebook/vcard/4.vcf | 11 | ||||
| -rw-r--r-- | tests/libebook/vcard/5.vcf | 32 | ||||
| -rw-r--r-- | tests/libebook/vcard/6.vcf | 12 | ||||
| -rw-r--r-- | tests/libebook/vcard/7.vcf | 11 | ||||
| -rw-r--r-- | tests/libebook/vcard/8.vcf | 11 | ||||
| -rw-r--r-- | tests/libebook/vcard/9.vcf | 9 | ||||
| -rw-r--r-- | tests/libebook/vcard/Makefile.am | 17 | ||||
| -rw-r--r-- | tests/libebook/vcard/README | 49 | ||||
| -rw-r--r-- | tests/libebook/vcard/dump-vcard.c | 41 |
16 files changed, 292 insertions, 0 deletions
diff --git a/tests/libebook/vcard/1.vcf b/tests/libebook/vcard/1.vcf new file mode 100644 index 000000000..308144c5f --- /dev/null +++ b/tests/libebook/vcard/1.vcf @@ -0,0 +1,12 @@ +BEGIN:vCard +VERSION:3.0 +FN:Frank Dawson +ORG:Lotus Development Corporation +ADR;TYPE=WORK,POSTAL,PARCEL:;;6544 Battleford Drive + ;Raleigh;NC;27613-3502;U.S.A. +TEL;TYPE=VOICE,MSG,WORK:+1-919-676-9515 +TEL;TYPE=FAX,WORK:+1-919-676-9564 +EMAIL;TYPE=INTERNET,PREF:Frank_Dawson@Lotus.com +EMAIL;TYPE=INTERNET:fdawson@earthlink.net +URL:http://home.earthlink.net/~fdawson +END:vCard diff --git a/tests/libebook/vcard/10.vcf b/tests/libebook/vcard/10.vcf new file mode 100644 index 000000000..665835190 --- /dev/null +++ b/tests/libebook/vcard/10.vcf @@ -0,0 +1,9 @@ +BEGIN:vCard +VERSION:3.0 +FN:Frank Dawson +ORG:Lotus Development Corporation +ADR;TYPE="Both work and home",POSTAL,PARCEL:;;6544 Battleford Drive + ;Raleigh;NC;27613-3502;U.S.A. +TEL;TYPE=VOICE,MSG,WORK:+1-919-676-9515 +TEL;TYPE=FAX,WORK:+1-919-676-9564 +END:vCard diff --git a/tests/libebook/vcard/11.vcf b/tests/libebook/vcard/11.vcf new file mode 100644 index 000000000..e56c60ddd --- /dev/null +++ b/tests/libebook/vcard/11.vcf @@ -0,0 +1,9 @@ +BEGIN:VCARD
+VERSION:3.0
+X-EVOLUTION-FILE-AS:AttributeParam\, Invalid
+FN:Invalid AttributeParam
+N:AttributeParam;Invalid;;;
+NOPARAM;:pas-id-4094434A00000001
+TAIL;PARAM=value;:pas-id-4094434A00000001
+MIDDLE;PARAM=value;;PARAM2=value2:pas-id-4094434A00000001
+END:VCARD
\ No newline at end of file diff --git a/tests/libebook/vcard/12.vcf b/tests/libebook/vcard/12.vcf new file mode 100644 index 000000000..d1c059841 --- /dev/null +++ b/tests/libebook/vcard/12.vcf @@ -0,0 +1,23 @@ +BEGIN:VCARD
+VERSION:2.1
+N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=
+Br=C3=BCning;=
+Michael
+FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=
+Michael Br=C3=BCning
+TEL;CELL;WORK:+491622433834
+TEL;CELL;HOME:017623384942
+TEL;WORK:+4973117546691
+EMAIL;WORK:ext-Michael.Bruning@nokia.com
+ADR;HOME;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=
+;=
+;=
+M=C3=BCnsterplatz 21;=
+Ulm;=
+Baden-W=C3=BCrttemberg;=
+89073;=
+
+LABEL;HOME;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=
+M=C3=BCnsterplatz 21=0D=0A89073 Ulm, Baden-W=C3=BCrttemberg
+BDAY:19781229
+END:VCARD
diff --git a/tests/libebook/vcard/13.vcf b/tests/libebook/vcard/13.vcf new file mode 100644 index 000000000..77831b84d --- /dev/null +++ b/tests/libebook/vcard/13.vcf @@ -0,0 +1,23 @@ +BEGIN:vCard +VERSION:3.0 +FN:Ralf Engels +ORG:Ralf Engels evil tests +ADR;TYPE=WORK,POSTAL,PARCEL:;;Evil semicolon city\; + ;Semicolon\;way;NC;27613-3502;U.S.A. +TEL;TYPE=VOICE,M + SG,WORK:+1-919-676-9515 +TEL;TYPE= + FAX,WORK:+1-919-676-9564 +EMAIL;TYPE=INTERNET + ,PREF:Frank_Dawson@Lotus.com +EMAIL;TYPE=INTERNET:semicolon\;@points.net +URL:http://home%32%20.earthlink.net/~fdawson +ADR;HOME;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:= +;= +;= +Evil backslash \\ way;= +Ulm;= +Newlines\nCountry\Nevil;= +89073;= + +END:vCard diff --git a/tests/libebook/vcard/2.vcf b/tests/libebook/vcard/2.vcf new file mode 100644 index 000000000..bdf14ea1b --- /dev/null +++ b/tests/libebook/vcard/2.vcf @@ -0,0 +1,10 @@ +BEGIN:vCard +VERSION:3.0 +FN:Tim Howes +ORG:Netscape Communications Corp. +ADR;TYPE=WORK:;;501 E. Middlefield Rd.;Mountain View; + CA; 94043;U.S.A. +TEL;TYPE=VOICE,MSG,WORK:+1-415-937-3419 +TEL;TYPE=FAX,WORK:+1-415-528-4164 +EMAIL;TYPE=INTERNET:howes@netscape.com +END:vCard diff --git a/tests/libebook/vcard/3.vcf b/tests/libebook/vcard/3.vcf new file mode 100644 index 000000000..0428d6a72 --- /dev/null +++ b/tests/libebook/vcard/3.vcf @@ -0,0 +1,13 @@ +BEGIN:VCARD
+VERSION:2.1
+X-EVOLUTION-FILE-AS:Friedman, Nat
+FN:Nat
+N:Friedman;Nat;D;Mr.
+ADR;POSTAL;WORK:P.O. Box 101;;;Any Town;CA;91921-1234
+TEL;WORK:617 679 1984
+TEL;CELL:123 456 7890
+EMAIL;INTERNET:nat@nat.org
+EMAIL;INTERNET:nat@ximian.com
+BDAY:1977-08-06
+UID:pas-id-3E65886900000002
+END:VCARD
diff --git a/tests/libebook/vcard/4.vcf b/tests/libebook/vcard/4.vcf new file mode 100644 index 000000000..305088a91 --- /dev/null +++ b/tests/libebook/vcard/4.vcf @@ -0,0 +1,11 @@ +BEGIN:VCARD
+VERSION:2.1
+X-EVOLUTION-FILE-AS:address, canada
+FN:canada address
+N:address;canada
+ADR;WORK:;;92 Main St. N.;Newmarket;ON;L3Y 4A1;Canada
+ADR;HOME;PREF:;;92 Main St. N.;Newmarket;ON;L3Y 4A1;Canada
+LABEL;QUOTED-PRINTABLE;WORK:92 Main St. N.=0ANewmarket, ON L3Y 4A1=0ACanada
+LABEL;QUOTED-PRINTABLE;HOME;PREF:92 Main St. N.=0ANewmarket, ON L3Y 4A1=0ACanada
+UID:pas-id-3E84C16E00000001
+END:VCARD
diff --git a/tests/libebook/vcard/5.vcf b/tests/libebook/vcard/5.vcf new file mode 100644 index 000000000..f42433061 --- /dev/null +++ b/tests/libebook/vcard/5.vcf @@ -0,0 +1,32 @@ +BEGIN:VCARD
+VERSION:2.1
+X-EVOLUTION-FILE-AS;CHARSET=UTF-8;QUOTED-PRINTABLE:=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=9E=8B=E7=9F=A5=E5=
+=BA=A7
+FN;CHARSET=UTF-8;QUOTED-PRINTABLE:=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=9E=8B=E7=9F=A5=E5=
+=BA=A7
+N;CHARSET=UTF-8:;十城目管理大型知座
+ADR;WORK;PREF;QUOTED-PRINTABLE;CHARSET=UTF-8:;=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=9E=8B=E7=9F=A5=E5=
+=BA=A7=0A=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=9E=8B=E7=
+=9F=A5=E5=BA=A7=0A=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=
+=9E=8B=E7=9F=A5=E5=BA=A7;=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=9E=8B=E7=9F=A5=E5=
+=BA=A7
+LABEL;CHARSET=UTF-8;QUOTED-PRINTABLE;WORK;PREF:=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=9E=8B=E7=9F=A5=E5=
+=BA=A7=0A=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=9E=8B=E7=
+=9F=A5=E5=BA=A7=0A=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=
+=9E=8B=E7=9F=A5=E5=BA=A7=0A=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=
+=A4=A7=E5=9E=8B=E7=9F=A5=E5=BA=A7
+TEL;CHARSET=UTF-8;QUOTED-PRINTABLE;WORK;VOICE:=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=9E=8B=E7=9F=A5=E5=
+=BA=A7
+TEL;CHARSET=UTF-8;QUOTED-PRINTABLE;WORK;FAX:=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=9E=8B=E7=9F=A5=E5=
+=BA=A7
+TEL;CHARSET=UTF-8;QUOTED-PRINTABLE;HOME:=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=9E=8B=E7=9F=A5=E5=
+=BA=A7
+TEL;CHARSET=UTF-8;QUOTED-PRINTABLE;CELL:=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=9E=8B=E7=9F=A5=E5=
+=BA=A7
+EMAIL;INTERNET:weird@weird.com
+ORG;CHARSET=UTF-8:十城目管理大型知座
+TITLE;CHARSET=UTF-8;QUOTED-PRINTABLE:=E5=8D=81=E5=9F=8E=E7=9B=AE=E7=AE=A1=E7=90=86=E5=A4=A7=E5=9E=8B=E7=9F=A5=E5=
+=BA=A7
+UID:pas-id-3E52FE2E00000000
+END:VCARD
+
diff --git a/tests/libebook/vcard/6.vcf b/tests/libebook/vcard/6.vcf new file mode 100644 index 000000000..e5e8310eb --- /dev/null +++ b/tests/libebook/vcard/6.vcf @@ -0,0 +1,12 @@ +BEGIN:vCard +VERSION:3.0 +FN:Frank Dawson +ORG:Lotus Development Corporation +ADR;TYPE=WORK,:;;6544 Battleford Drive + ;Raleigh;NC;27613-3502;U.S.A. +TEL;TYPE=VOICE;MSG,WORK:+1-919-676-9515 +TEL;FAX,WORK:+1-919-676-9564 +EMAIL;TYPE=INTERNET,PREF:Frank_Dawson@Lotus.com +EMAIL;TYPE=INTERNET:fdawson@earthlink.net +URL:http://home.earthlink.net/~fdawson +END:vCard diff --git a/tests/libebook/vcard/7.vcf b/tests/libebook/vcard/7.vcf new file mode 100644 index 000000000..fb8817303 --- /dev/null +++ b/tests/libebook/vcard/7.vcf @@ -0,0 +1,11 @@ +VERSION:3.0 +FN:Frank Dawson +ORG:Lotus Development Corporation +ADR;TYPE=WORK,POSTAL,PARCEL:;;6544 Battleford Drive + ;Raleigh;NC;27613-3502;U.S.A. +TEL;TYPE=VOICE,MSG,WORK:+1-919-676-9515 +TEL;TYPE=FAX,WORK:+1-919-676-9564 +EMAIL;TYPE=INTERNET,PREF:Frank_Dawson@Lotus.com +EMAIL;TYPE=INTERNET:fdawson@earthlink.net +URL:http://home.earthlink.net/~fdawson +END:vCard diff --git a/tests/libebook/vcard/8.vcf b/tests/libebook/vcard/8.vcf new file mode 100644 index 000000000..172d1d2c6 --- /dev/null +++ b/tests/libebook/vcard/8.vcf @@ -0,0 +1,11 @@ +BEGIN:vCard +VERSION:3.0 +FN:Frank Dawson +ORG:Lotus Development Corporation +ADR;TYPE=WORK,POSTAL,PARCEL:;;6544 Battleford Drive + ;Raleigh;NC;27613-3502;U.S.A. +TEL;TYPE=VOICE,MSG,WORK:+1-919-676-9515 +TEL;TYPE=FAX,WORK:+1-919-676-9564 +EMAIL;TYPE=INTERNET,PREF:Frank_Dawson@Lotus.com +EMAIL;TYPE=INTERNET:fdawson@earthlink.net +URL:http://home.earthlink.net/~fdawson diff --git a/tests/libebook/vcard/9.vcf b/tests/libebook/vcard/9.vcf new file mode 100644 index 000000000..7043ab8c1 --- /dev/null +++ b/tests/libebook/vcard/9.vcf @@ -0,0 +1,9 @@ +BEGIN:vCard +VERSION:3.0 +FN:Frank Dawson +ORG:Lotus Development Corporation +ADR;TYPE=WORK,POSTAL,PARCEL:;;6544 Battleford Drive + ;Raleigh;NC;27613-3502;U.S.A. +TEL;TYPE=VOICE,MSG,WORK:+1-919-676-9515 +TEL;TYPE=FAX,WORK:+1-919-676-9564 +E diff --git a/tests/libebook/vcard/Makefile.am b/tests/libebook/vcard/Makefile.am new file mode 100644 index 000000000..7b1832ad5 --- /dev/null +++ b/tests/libebook/vcard/Makefile.am @@ -0,0 +1,17 @@ +noinst_PROGRAMS = dump-vcard + +dump_vcard_CPPFLAGS = \ + -I$(top_srcdir) \ + -I$(top_builddir) \ + -I$(top_srcdir)/addressbook \ + -I$(top_builddir)/addressbook \ + $(EVOLUTION_ADDRESSBOOK_CFLAGS) + +dump_vcard_LDADD = \ + $(top_builddir)/addressbook/libebook/libebook-1.2.la \ + $(top_builddir)/libedataserver/libedataserver-1.2.la \ + $(EVOLUTION_ADDRESSBOOK_LIBS) + +EXTRA_DIST=1.vcf 2.vcf 3.vcf 4.vcf 5.vcf 6.vcf 7.vcf 8.vcf 9.vcf 10.vcf 11.vcf + +-include $(top_srcdir)/git.mk diff --git a/tests/libebook/vcard/README b/tests/libebook/vcard/README new file mode 100644 index 000000000..46220132e --- /dev/null +++ b/tests/libebook/vcard/README @@ -0,0 +1,49 @@ +This is the list of tests I've been using while writing e-vcard.c. +The parser is all handcrafted, and it's not a validating parser by any +stretch of the imagination. It tries very hard to deal with any +possible input (it'll even parse rfc822 mail headers and spit out +vCard-ish results.) + +Test : Description +---------------------- + +1.vcf : Frank Dawson's vCard from RFC 2426 (missing the required N + attribute.) + +2.vcf : Tim Howes's vCard from from RFC 2426 (missing the required N + attribute.) + +3.vcf : Nat's old vCard. + +4.vcf : A vCard containing a canadian address (quoted-printable + encoded attribute values.) + +5.vcf : A vCard containing utf8 characters quoted-printable encoded. + +6.vcf : A vCard with several errors in attribute parameters: + line 5: an missing parameter value (a , with nothing after it). + line 6: a missing parameter name when using multiple + values. (this may not be in violation of the rfc.) + line 7: a missing parameter name when using multiple + values. (this may not be in violation of the rfc.) + +7.vcf : A vCard missing its begin:vcard attribute, as well as missing + the required N attribute. + +8.vcf : A vCard missing its end: vcard attribute, as well as missing + the required N attribute. + +9.vcf : A vCard that ends (\0) in the middle of an attribute + name/group. + +10.vcf : A vCard with an attribute with more than 1 group specified. Also + has an attributed with a quoted parameter value. + +11.vcf : A vCard with invalid attribute parameter specs. + +12.vcf : A vCard with quoted parameter values that get corrupted if the + line folding mechanism does not correctly remove the equal sign + +13.vcf : A vCard with various escaped characters + +---------------------- diff --git a/tests/libebook/vcard/dump-vcard.c b/tests/libebook/vcard/dump-vcard.c new file mode 100644 index 000000000..307d34e02 --- /dev/null +++ b/tests/libebook/vcard/dump-vcard.c @@ -0,0 +1,41 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ + +#include <stdio.h> +#include <libebook/e-vcard.h> + +gint +main (gint argc, gchar **argv) +{ + FILE *fp; + EVCard *vcard; + GString *str = g_string_new (""); + gchar *parsed_vcard; + + if (argc < 2) + return 0; + + g_type_init_with_debug_flags (G_TYPE_DEBUG_OBJECTS); + + fp = fopen (argv[1], "r"); + + while (!feof (fp)) { + gchar buf[1024]; + if (fgets (buf, sizeof (buf), fp)) + str = g_string_append (str, buf); + } + fclose (fp); + + vcard = e_vcard_new_from_string (str->str); + + e_vcard_dump_structure (vcard); + + parsed_vcard = e_vcard_to_string (vcard, EVC_FORMAT_VCARD_30); + + printf ("\nvcard: %s\n", parsed_vcard); + + g_object_unref (vcard); + + g_free (parsed_vcard); + + return 0; +} |
