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