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. ----------------------