File: 01-basic.t

package info (click to toggle)
libmoosex-attribute-env-perl 0.02-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 204 kB
  • sloc: perl: 2,059; makefile: 8
file content (80 lines) | stat: -rwxr-xr-x 1,430 bytes parent folder | download
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";	
}