#!perl
use strict;
use warnings;
use lib 't/lib';
use Test::More tests => 4;
my $class = 'App::Addex::Output::ToFile';
use_ok($class);
eval { $class->new; };
like($@, qr/no filename/, 'filename is a required arg');
# Is this test portable? -- rjbs, 2007-05-11
eval { $class->new({ filename => '/' }); };
like($@, qr/couldn't open/, 'filename is a required arg');
# WARNING! This test relies on the object guts. -- rjbs, 2007-05-11
{
local $SIG{__WARN__} = sub { }; # avoid 'print on closed fh' warning
my $self = $class->new({ filename => \(my $buffer) });
close $self->{fh};
eval { $self->output("line") };
like($@, qr/couldn't write/, 'exception raised if output fails');
}