#!/usr/bin/perl -w
BEGIN
{
plan
tests
=> (4*4+4) * 6 + (8+2) * 4 + 3;
chdir
't'
if
-d
't'
;
use_ok (
"Graph::Easy::Attributes"
) or
die
($@);
use_ok (
"Graph::Easy"
) or
die
($@);
};
can_ok (
"Graph::Easy"
,
qw/
valid_attribute
/
);
my
$att
= Graph::Easy->new();
$att
->no_fatal_errors(1);
for
my
$n
(
qw/ foo-bar bar-foo b-f-a boo-f-bar bar b-f /
)
{
my
$new_value
=
$att
->valid_attribute(
"x-$n"
,
'furble, barble'
);
is (
$new_value
,
"furble, barble"
,
"x-$n is valid"
);
my
@new_value
=
$att
->validate_attribute(
"x-$n"
,
'furble, barble'
);
is (
$new_value
[0],
undef
,
"x-$n is valid"
);
is (
$new_value
[1],
"x-$n"
,
"x-$n is valid"
);
is (
$new_value
[2],
"furble, barble"
,
"x-$n is valid"
);
for
my
$class
(
qw/ graph group node edge /
)
{
my
$new_value
=
$att
->valid_attribute(
"x-$n"
,
'furble, barble'
,
$class
);
is (
$new_value
,
"furble, barble"
,
"x-$n is valid in class $class"
);
my
@new_value
=
$att
->validate_attribute(
"x-$n"
,
'furble, barble'
,
$class
);
is (
$new_value
[0],
undef
,
"x-$n is valid in class $class"
);
is (
$new_value
[1],
"x-$n"
,
"x-$n is valid"
);
is (
$new_value
[2],
"furble, barble"
,
"x-$n is valid in class $class"
);
}
}
for
my
$n
(
qw/ -foo-bar bar-foo- b--a -boo-f-bar- /
)
{
my
$new_value
=
$att
->valid_attribute(
"x-$n"
,
'furble, barble'
);
is (
ref
(
$new_value
),
'ARRAY'
,
"x-$n is not valid"
);
my
@new_value
=
$att
->validate_attribute(
"x-$n"
,
'furble, barble'
);
is (
$new_value
[0], 1,
"x-$n is not valid"
);
for
my
$class
(
qw/ graph group node edge /
)
{
my
$new_value
=
$att
->valid_attribute(
"x-$n"
,
'furble, barble'
,
$class
);
is (
ref
(
$new_value
),
'ARRAY'
,
"x-$n is not valid in class $class"
);
my
@new_value
=
$att
->validate_attribute(
"x-$n"
,
'furble, barble'
,
$class
);
is (
$new_value
[0], 1,
"x-$n is not valid in class $class"
);
}
}
1;