package MooseX::GlobRefTest;
use parent 'MooseX::GlobRefTestBase';
use constant test_class => (__PACKAGE__ . '::TestClass');
{
package MooseX::GlobRefTest::TestClass;
use Moose;
use MooseX::GlobRef;
has field => (
is => 'rw',
clearer => 'clear_field',
default => 'default',
lazy => 1,
);
has weak_field => (
is => 'rw',
);
sub BUILD {
my $self = shift;
# if not a globref then will fail later on assertion
if (Scalar::Util::reftype($self) eq 'GLOB') {
# fill some other slots in globref
my $scalarref = ${*$self};
$$scalarref = 'SCALAR';
my $arrayref = \@{*$self};
@$arrayref = ('ARRAY');
};
return $self;
};
};
1;