#!/usr/bin/env perl
BEGIN {
eval
'require XML::LibXML::Error'
;
plan
skip_all
=>
'XML::LibXML::Error not available'
if
$@;
eval
'require XML::LibXML'
;
plan
skip_all
=>
'Your installation of XML::LibXML is broken'
if
$@;
}
my
$xml
=
eval
{ XML::LibXML->load_xml(
string
=> \
'<bad-xml>'
) };
ok !
defined
$xml
,
'parse broken xml'
;
my
$error
= $@;
isa_ok
$error
,
'XML::LibXML::Error'
;
my
@dec
= exception_decode(
$error
);
my
$msg
=
pop
@dec
;
my
$rc
=
delete
$dec
[0]{errno};
$dec
[0]{errno} =
'RC'
;
cmp_ok
$rc
,
'>'
, 13000,
'error code'
;
is_deeply \
@dec
,
, [ {
location
=> [
'libxml'
,
''
,
'1'
,
'parser'
],
errno
=>
'RC'
}
,
'ERROR'
],
'error 1'
;
$msg
=~ s/\r?\n\s*/ /g;
like
$msg
,
qr/bad\-xml/
,
$msg
;
done_testing;
1;