use strict; use warnings; use Encode; use Test::More tests => 6; use_ok ('XML::FOAFKnows::FromvCard'); my $data = <<'_EOD_'; BEGIN:VCARD CLASS:PUBLIC EMAIL:blueberry.jam@example.invalid FN:Blåbærsyltetøy N:Syltetøy;Blåbær;;; UID:yiLst2xaHn VERSION:3.0 END:VCARD _EOD_ my $docexpected = <<'_EOD_'; 118e4bc7a8668b31b71e2b53173e627b66fe8f62 b77984ffe607a1a82abd4e3ae962ce35b7fbf938 Syltetøy Blåbær Blåbær Syltetøy _EOD_ ok(my $text = XML::FOAFKnows::FromvCard->format(decode_utf8($data, Encode::FB_XMLCREF), (uri => 'http://search.cpan.org/~kjetilk/#fictious', seeAlso => 'http://www.kjetil.kjernsmo.net/foaf.rdf', email => 'kjetilk@cpan.org')), "Constructing object"); isa_ok( $text, 'XML::FOAFKnows::FromvCard' ); ok(my $out = $text->document('UTF-8'), 'Assignment OK'); ok(my $encoded = encode_utf8($out), 'Encoding to UTF8'); ok($encoded eq $docexpected, 'Document comes out with correctly encoded UTF8 as expected'); open (FILE, "> /tmp/data"); print FILE $encoded; close FILE;