Anonymous-Object
view release on metacpan or search on metacpan
t/06-coverage.t view on Meta::CPAN
use Test::More;
use Anonymous::Object;
ok(my $ok = Anonymous::Object->new(
build_object_name => sub { 'Not::Kaput' },
build_type_map => sub {
my ($self, $params) = @_;
$params->{default} = 'Str';
return $params;
}
));
eval {
my $not_ok = Anonymous::Object->new(
build_type_map => sub {
my ($self, $params) = @_;
$params->{default} = 'Str';
return undef;
}
);
};
like("$@", qr/type_map accessor is required/);
is($ok->object_name, 'Not::Kaput', 'Not::Kaput');
eval {
$ok->object_name({ go => "kaput" });
};
like("$@", qr/Str: invalid value/);
eval {
$ok->default("go kaput");
};
like("$@", qr/HashRef: invalid value/);
eval {
$ok->types("go kaput");
};
like("$@", qr/HashRef: invalid value/);
eval {
$ok->type_library({ go => "kaput" });
};
like("$@", qr/Str: invalid value/);
eval {
$ok->types("go kaput");
};
like("$@", qr/HashRef: invalid value/);
eval {
$ok->type_map("go kaput");
};
like("$@", qr/HashRef: invalid value/);
eval {
$ok->hash_to_object(undef);
};
like("$@", qr/HashRef: invalid value undef/);
eval {
$ok->hash_to_nested_object(undef);
};
like("$@", qr/HashRef: invalid value undef/);
( run in 0.602 second using v1.01-cache-2.11-cpan-e1769b4cff6 )