Basset

 view release on metacpan or  search on metacpan

t/logger.t  view on Meta::CPAN

use Test::More tests => 89;
use Basset::Logger;
package Basset::Logger;
{		Test::More::ok(1, "uses strict");
		Test::More::ok(1, "uses warnings");
};
{
#line 67  handle

my $o = Basset::Logger->new();
Test::More::ok($o, "Got object for handle");
Test::More::is(scalar($o->handle($o)), undef, "Cannot set handle to unknown reference");
Test::More::is($o->errcode, "BL-03", "proper error code");

local $@ = undef;
eval "use File::Temp";
my $file_temp_exists = $@ ? 0 : 1;

if ($file_temp_exists) {
	my $temp = File::Temp->new;
	my $name = $temp->filename;
	Test::More::is(ref($o->handle($name)), 'GLOB', "created glob");
	open (my $glob, $name);
	Test::More::is($o->handle($glob), $glob, "set glob");
	chmod 000, $name;
	Test::More::is(scalar($o->handle($name)), undef, "could not set handle to unwritable file");
	Test::More::is($o->errcode, "BL-01", "proper error code");
}
};
{
#line 104  closed

{
	my $o = Basset::Logger->new();
	Test::More::ok($o, "Got object");
	Test::More::is(scalar(Basset::Logger->closed), undef, "could not call object method as class method");
	Test::More::is(Basset::Logger->errcode, "BO-08", "proper error code");
	Test::More::is(scalar($o->closed), 0, 'closed is 0 by default');
	Test::More::is($o->closed('abc'), 'abc', 'set closed to abc');
	Test::More::is($o->closed(), 'abc', 'read value of closed - abc');
	my $h = {};
	Test::More::ok($h, 'got hashref');
	Test::More::is($o->closed($h), $h, 'set closed to hashref');
	Test::More::is($o->closed(), $h, 'read value of closed  - hashref');
	my $a = [];
	Test::More::ok($a, 'got arrayref');
	Test::More::is($o->closed($a), $a, 'set closed to arrayref');
	Test::More::is($o->closed(), $a, 'read value of closed  - arrayref');
}

my $o = Basset::Logger->new();
Test::More::ok($o, "got object");
Test::More::is($o->close, 1, "closing non-existent handle is fine");
Test::More::is($o->closed, 0, "handle remains open");

local $@ = undef;
eval "use File::Temp";
my $file_temp_exists = $@ ? 0 : 1;

if ($file_temp_exists) {
	my $temp = File::Temp->new;
	my $name = $temp->filename;
	Test::More::is(ref($o->handle($name)), 'GLOB', "created glob");
	Test::More::is($o->closed, 0, "file handle is open");
	Test::More::is($o->close, 1, "closed file handle");
	Test::More::is($o->closed, 1, "filehandle is closed");
}
};
{
#line 157  stamped

my $o = Basset::Logger->new();
Test::More::ok($o, "Got object");
Test::More::is(scalar(Basset::Logger->stamped), undef, "could not call object method as class method");
Test::More::is(Basset::Logger->errcode, "BO-08", "proper error code");
Test::More::is(scalar($o->stamped), 1, 'stamped is 1 by default');
Test::More::is($o->stamped('abc'), 'abc', 'set stamped to abc');
Test::More::is($o->stamped(), 'abc', 'read value of stamped - abc');
my $h = {};
Test::More::ok($h, 'got hashref');
Test::More::is($o->stamped($h), $h, 'set stamped to hashref');
Test::More::is($o->stamped(), $h, 'read value of stamped  - hashref');
my $a = [];
Test::More::ok($a, 'got arrayref');
Test::More::is($o->stamped($a), $a, 'set stamped to arrayref');



( run in 0.902 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )