Mini Shell
use Test;
BEGIN { $tests = 0;
if ($] >= 5.007002) { $tests = 9 }
plan tests => $tests;
}
if ($tests) {
use XML::SAX::PurePerl;
my $handler = TestHandler->new(); # see below for the TestHandler class
ok($handler);
my $parser = XML::SAX::PurePerl->new(Handler => $handler);
ok($parser);
# warn("utf-16\n");
# verify that the first element is correctly decoded
$handler->{test_elements} = [ "\x{9031}\x{5831}" ];
$parser->parse_uri("testfiles/utf-16.xml");
ok(1);
# warn("utf-16le\n");
$handler->{test_elements} = [ "foo" ];
$parser->parse_uri("testfiles/utf-16le.xml");
ok(1);
# warn("koi8_r\n");
$parser->parse_uri("testfiles/koi8_r.xml");
ok(1);
# warn("8859-1\n");
$parser->parse_uri("testfiles/iso8859_1.xml");
ok(1);
# warn("8859-2\n");
$parser->parse_uri("testfiles/iso8859_2.xml");
ok(1);
}
package TestHandler;
use XML::SAX::PurePerl::DebugHandler;
use base qw(XML::SAX::PurePerl::DebugHandler);
use Test;
sub start_element {
my $self = shift;
if ($self->{test_elements} and
my $value = pop @{$self->{test_elements}}) {
ok($_[0]->{Name}, $value);
}
$self->SUPER::start_element(@_);
}
1;
Zerion Mini Shell 1.0