first version ready for release
[gitmo/MooseX-Attribute-ENV.git] / t / 01-basic.t
CommitLineData
ce989a70 1
2use warnings;
3use strict;
4use Test::More tests => 9;
5
6ENV_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