#!/usr/bin/perl use strict; use warnings; use Test::More 'no_plan'; use File::Spec; my $class = 'Module::Release'; my $file = ".releaserc"; use_ok( $class ); can_ok( $class, 'new' ); BEGIN { my $file = File::Spec->catfile( qw(t lib setup_common.pl) ); require $file; } # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Create object with no parameters, clean environment { local %ENV; # don't react to overall setup my $method = 'debug'; my $release = $class->new; isa_ok( $release, $class ); can_ok( $release, $method ); ok( ! $release->$method(), "debug starts off" ); } # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Create object with no parameters, RELEASE_DEBUG = 1 { local %ENV; # don't react to overall setup my $var = "RELEASE_DEBUG"; $ENV{RELEASE_DEBUG} = 1; my $method = 'debug'; my $release = $class->new; isa_ok( $release, $class ); can_ok( $release, $method ); is( $release->$method(), $ENV{$var}, "$method matches $var ($ENV{RELEASE_DEBUG})" ); } # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Create object with no parameters, RELEASE_DEBUG = 0 { local %ENV; # don't react to overall setup my $var = "RELEASE_DEBUG"; $ENV{RELEASE_DEBUG} = 0; my $method = 'debug'; my $release = $class->new; isa_ok( $release, $class ); can_ok( $release, $method ); is( $release->$method(), $ENV{$var}, "$method matches $var ($ENV{RELEASE_DEBUG})" ); } # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Create object with no parameters { local %ENV; # don't react to overall setup my $method = 'pause_ftp_site'; my $release = $class->new; isa_ok( $release, $class ); $release->load_mixin( 'Module::Release::PAUSE' ); can_ok( $release, $method ); is( $release->$method(), 'pause.perl.org', "$method returns the right default host" ); }