#!perl
my
$no_warnings
;
use
if
$no_warnings
=
$ENV
{AUTHOR_TESTING} ? 1 : 0,
'Test::Warnings'
;
plan
tests
=> 3 +
$no_warnings
;
my
$e
;
subtest
'message only'
=>
sub
{
plan
tests
=> 5;
ok
$e
= Neo4j::Error->new(
Usage
=> {
message
=>
'Illegal arguments'
,
}),
'new'
;
isa_ok
$e
,
'Neo4j::Error::Usage'
,
'class Usage'
;
is
$e
->code(),
''
,
'no code'
;
is
$e
->message(),
'Illegal arguments'
,
'message'
;
is
$e
->as_string(),
'Illegal arguments'
,
'as_string'
;
};
subtest
'string only'
=>
sub
{
plan
tests
=> 5;
ok
$e
= Neo4j::Error->new(
Usage
=> {
as_string
=>
'Illegal arguments'
,
}),
'new'
;
isa_ok
$e
,
'Neo4j::Error::Usage'
,
'class Usage'
;
is
$e
->code(),
''
,
'no code'
;
is
$e
->message(),
''
,
'no message'
;
is
$e
->as_string(),
'Illegal arguments'
,
'as_string'
;
};
subtest
'metadata'
=>
sub
{
plan
tests
=> 6;
ok
$e
= Neo4j::Error->new(
Usage
=>
'Illegal arguments'
),
'new'
;
isa_ok
$e
,
'Neo4j::Error::Usage'
,
'class Usage'
;
is
$e
->classification(),
''
,
'no classification'
;
is
$e
->category(),
''
,
'no category'
;
is
$e
->title(),
''
,
'no title'
;
ok !
$e
->is_retryable(),
'no is_retryable'
;
};
done_testing;