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