Benchmark-DKbench
view release on metacpan or search on metacpan
data/t/attributes/attribute_lazy_initializer.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use Test::Fatal;
{
package Foo;
use Moose;
has 'foo' => (
reader => 'get_foo',
writer => 'set_foo',
initializer => sub {
my ($self, $value, $callback, $attr) = @_;
::isa_ok($attr, 'Moose::Meta::Attribute');
::is($attr->name, 'foo', '... got the right name');
$callback->($value * 2);
},
);
has 'lazy_foo' => (
reader => 'get_lazy_foo',
lazy => 1,
default => 10,
initializer => sub {
my ($self, $value, $callback, $attr) = @_;
::isa_ok($attr, 'Moose::Meta::Attribute');
::is($attr->name, 'lazy_foo', '... got the right name');
$callback->($value * 2);
},
);
has 'lazy_foo_w_type' => (
reader => 'get_lazy_foo_w_type',
isa => 'Int',
lazy => 1,
default => 20,
initializer => sub {
my ($self, $value, $callback, $attr) = @_;
::isa_ok($attr, 'Moose::Meta::Attribute');
::is($attr->name, 'lazy_foo_w_type', '... got the right name');
$callback->($value * 2);
},
);
has 'lazy_foo_builder' => (
reader => 'get_lazy_foo_builder',
builder => 'get_foo_builder',
initializer => sub {
my ($self, $value, $callback, $attr) = @_;
::isa_ok($attr, 'Moose::Meta::Attribute');
::is($attr->name, 'lazy_foo_builder', '... got the right name');
$callback->($value * 2);
},
);
( run in 2.387 seconds using v1.01-cache-2.11-cpan-54e63673c56 )