/XML-TreePP/t/52_require_xml_decl.t
http://xml-treepp.googlecode.com/ · Raku · 54 lines · 52 code · 0 blank · 2 comment · 0 complexity · ea0425b342ece8a4a6ea7e3b6d39bb7c MD5 · raw file
- # ----------------------------------------------------------------
- use strict;
- use Test::More;
- # ----------------------------------------------------------------
- my $xml1 = <<"EOT";
- <root>
- <elem>value</elem>
- </root>
- EOT
- my $xml2 = <<"EOT";
- <?xml version="1.0" encoding="UTF-8"?>
- <root>
- <elem>value</elem>
- </root>
- EOT
- # ----------------------------------------------------------------
- {
- plan tests => 5;
- use_ok('XML::TreePP');
- my $tpp1 = XML::TreePP->new();
- my $tpp2 = XML::TreePP->new( require_xml_decl => 1 );
-
- my $res;
- my $die;
- ($res, $die) = &test($tpp1, $xml1);
- is($res->{root}->{elem}, 'value', 'no decl and default');
- ($res, $die) = &test($tpp1, $xml2);
- is($res->{root}->{elem}, 'value', 'has decl and default');
- ($res, $die) = &test($tpp2, $xml1);
- like($die, qr/^XML DECLARATION NOT FOUND/i, 'require_xml_decl works');
- ($res, $die) = &test($tpp2, $xml2);
- is($res->{root}->{elem}, 'value', 'has decl and require_xml_decl');
- }
- # ----------------------------------------------------------------
- sub test {
- my $tpp = shift;
- my $xml = shift;
- my $exp = shift;
- local $@;
- my $tree;
- eval {
- $tree = $tpp->parse($xml);
- };
- return ($tree, $@);
- }
- # ----------------------------------------------------------------
- ;1;
- # ----------------------------------------------------------------