use strict; use Test::More; my $vcard = < (6 + $use_writer + $use_simple); use_ok("XML::SAXDriver::vCard"); use_ok("XML::SAX::ParserFactory"); use_ok("FileHandle"); my $output = ""; my $writer = undef; my $parser = undef; my $driver = undef; if ($use_writer) { $writer = XML::SAX::Writer->new(Output=>\$output); like($writer,qr/XML::(?:SAX::Writer|Filter::BufferText)/,"The object isa ".ref($writer)); } $parser = XML::SAX::ParserFactory->parser(Handler=>$writer); like($parser,qr/XML::SAX::(?:Pure|Exp|LibX)/,"The object isa ".ref($parser)); $driver = XML::SAXDriver::vCard->new(Handler=>$parser); isa_ok($driver,"XML::SAXDriver::vCard"); ok($driver->parse($vcard),"Parsed vCard"); if ($use_simple) { my $ref = &XML::Simple::XMLin($output); my $str = $ref->{'vCard'}->[0]->{'adr'}{'street'}; my $agent = $ref->{'vCard'}->[0]->{'agent'}{'vCard'}->{'fn'}; cmp_ok($str,"eq","123 Main Street","Address is $str"); cmp_ok($agent,"eq","Susan Thomas","Agent is $agent"); } # print $output."\n";