1BEGIN {print "1..2\n";}
2END {print "not ok 1\n" unless $loaded;}
3use XML::Parser;
4$loaded = 1;
5print "ok 1\n";
6
7my $count = 0;
8
9my $cdata_part = "<<< & > '' << &&&>&&&&;<";
10
11my $doc = "<foo> hello <![CDATA[$cdata_part]]> there</foo>";
12
13my $acc = '';
14
15sub ch {
16  my ($xp, $data) = @_;
17
18  $acc .= $data;
19}
20
21sub stcd {
22  my $xp = shift;
23  $xp->setHandlers(Char => \&ch);
24}
25
26sub ecd {
27  my $xp = shift;
28  $xp->setHandlers(Char => 0);
29}
30
31$parser = new XML::Parser(ErrorContext => 2,
32			  Handlers     => {CdataStart => \&stcd,
33					   CdataEnd   => \&ecd});
34
35$parser->parse($doc);
36
37print "not "
38  unless ($acc eq $cdata_part);
39print "ok 2\n";
40
41