1#!/usr/bin/perl
2use strict;
3use warnings;
4
5use Test::More 1;
6
7use Config;
8use File::Spec;
9
10use lib qw(t/lib);
11require 'setup_common.pl';
12
13my $class = 'Module::Release';
14subtest setup => sub {
15	use_ok( $class );
16	can_ok( $class, 'new' );
17	};
18
19my %required_env;
20my $debug_env_var = 'RELEASE_DEBUG';
21
22if ( $^O eq 'android' ) {
23    my $ldlibpth             = $Config{ldlibpthname};
24    $required_env{$ldlibpth} = $ENV{$ldlibpth};
25    $required_env{PATH}      = $ENV{PATH};
26}
27
28subtest no_params_clean => sub {
29	local %ENV = %required_env; # don't react to overall setup
30	my $method = 'debug';
31
32	my $release = $class->new;
33	isa_ok( $release, $class );
34
35	can_ok( $release, $method );
36	ok( ! $release->$method(), "debug starts off" );
37	};
38
39subtest no_params_debug => sub {
40	local %ENV = %required_env; # don't react to overall setup
41
42	$ENV{$debug_env_var} = 1;
43	my $method = 'debug';
44
45	my $release = $class->new;
46	isa_ok( $release, $class );
47
48	can_ok( $release, $method );
49	is( $release->$method(), $ENV{$debug_env_var},
50		"$method matches $debug_env_var ($ENV{$debug_env_var})" );
51	};
52
53subtest no_params_no_debug => sub {
54	local %ENV = %required_env; # don't react to overall setup
55
56	$ENV{$debug_env_var} = 0;
57	my $method = 'debug';
58
59	my $release = $class->new;
60	isa_ok( $release, $class );
61
62	can_ok( $release, $method );
63	is( $release->$method(), $ENV{$debug_env_var},
64		"$method matches $debug_env_var ($ENV{$debug_env_var})" );
65	};
66
67done_testing();
68