Apache-Voodoo

 view release on metacpan or  search on metacpan

t/Application-ConfigParser.t  view on Meta::CPAN

use strict;
use warnings;

use Test::More tests => 55;
use Data::Dumper;

use lib("t");

BEGIN {
	# fall back to eq_or_diff if we don't have Test::Differences
	if (!eval q{ use Test::Differences; 1 }) {
		*eq_or_diff = \&is_deeply;
	}
}

use_ok('Apache::Voodoo::Constants')                 || BAIL_OUT($@);
use_ok('Apache::Voodoo::Application::ConfigParser') || BAIL_OUT($@);

my $c = Apache::Voodoo::Constants->new('test_data::MyConfig');

my $loc = $INC{'Apache/Voodoo/Constants.pm'};
$loc =~ s/(blib\/)?lib\/Apache\/Voodoo\/Constants.pm//;

$c->{'PREFIX'}       = $loc;
$c->{'INSTALL_PATH'} = $loc."t/";
eval {
	Apache::Voodoo::Application::ConfigParser->new();
};
ok($@ =~ /ID is a required parameter/, "ID is a required param");

my $cp;
eval {
	$cp = Apache::Voodoo::Application::ConfigParser->new('app_blank');
};
ok(!$@,'ID alone works');

is(ref($cp->{'constants'}),'Apache::Voodoo::Constants','No constants object creates one');

eval {
	$cp = Apache::Voodoo::Application::ConfigParser->new('app_blank',$c);
};
ok(!$@,'ID and constants object works');

$cp->parse;
foreach (
	['id',    'app_blank'],
	['old_ns', 0]
	) {

	is($cp->{$_->[0]}, $_->[1],"default value for $_->[0] set correctly");
}
foreach (
	['id',             'app_blank'],
	['base_package',   'app_blank'],
	['session_timeout', 900 ],
	['upload_size_max', 5*1024*1024],
	['cookie_name',     'APP_BLANK_SID'],
	['https_cookies',   0,],
	['logout_target',   '/index'],
	['devel_mode',      0],
	['dynamic_loading', 0],
	['halt_on_errors',  1]
	) {

	is($cp->{config}->{$_->[0]}, $_->[1],"default value for $_->[0] set correctly");



( run in 0.437 second using v1.01-cache-2.11-cpan-39bf76dae61 )