1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
use warnings;
use strict;
use Test::More tests => 9;
ENV_ATTRIBUTES: {
local %ENV;
$ENV{test1} = '111';
$ENV{test2} = '222';
$ENV{'444_test4'} = '444';
$ENV{"MooseX_Attribute_ENV_Test_Class_test5"} = 'packagetest';
{
package MooseX::Attribute::ENV::Test::Class;
use Moose;
use MooseX::Attribute::ENV;
has 'test1' => (
traits=>[qw/ENV/],
is=>'ro',
);
has 'test1a' => (
traits=>[qw/ENV/],
env_key=>'test2',
is=>'ro',
);
has 'test3' => (
traits=>[qw/ENV/],
is=>'ro',
default=>'333',
);
has 'test3a' => (
traits=>[qw/ENV/],
env_key=>'test4',
is=>'ro',
default=>'444',
);
has 'test4' => (
traits=>[qw/ENV/],
env_prefix=>'444',
is=>'ro',
);
has 'test5' => (
traits=>[qw/ENV/],
env_package_prefix=>1,
is=>'ro',
);
has 'test6' => (
traits=>[qw/ENV/],
env_package_prefix=>1,
is=>'ro',
default=>sub{
return blessed shift;
}
);
}
ok( my $env = 'MooseX::Attribute::ENV::Test::Class'->new(), "Got a good object");
isa_ok( $env, 'MooseX::Attribute::ENV::Test::Class' );
is $env->test1, 111, "correct value";
is $env->test1a, 222, "correct value";
is $env->test3, 333, "correct value";
is $env->test3a, 444, "correct value";
is $env->test4, '444', "correct value";
is $env->test5, 'packagetest', "correct value";
is $env->test6, 'MooseX::Attribute::ENV::Test::Class', "correct value";
}
|