# -*- cperl -*-
use Test;
BEGIN { plan tests => 4 }
use XML::LibXML 1.70;
use XML::LibXSLT;
{
# test for #41542 - DTD subset disappeare
# in the source document after the transformation
my $parser = XML::LibXML->new();
$parser->validation(1);
$parser->expand_entities(0);
my $xml = <<'EOT';
]>
&foo;
EOT
my $doc = $parser->parse_string($xml);
my $xslt = XML::LibXSLT->new();
$parser->validation(0);
my $style_doc = $parser->parse_string(<<'EOX');
hello
EOX
ok($doc->toString() eq $xml);
$xslt->parse_stylesheet($style_doc)->transform($doc);
ok($doc->toString() eq $xml);
}
{
# test work-around for rt #29572
my $parser = XML::LibXML->new();
my $source = $parser->parse_string(<<'EOT');
EOT
my $style_doc = $parser->load_xml(string=><<'EOT2',no_cdata=>1);
]]>
EOT2
my $xslt = XML::LibXSLT->new();
my $stylesheet = $xslt->parse_stylesheet($style_doc);
my $results = $stylesheet->transform($source);
ok($results);
my $out = $stylesheet->output_string($results);
ok($out eq <<'EOF') or print $out;
EOF
}