use strict;
use Test::More;
BEGIN {
eval "use DBD::SQLite";
plan $@
? (skip_all => 'needs DBD::SQLite for testing')
: (tests => 7);
}
INIT {
my $once = 0;
local $SIG{__WARN__} = sub {
fail $_[0] unless $_[0] =~ /deprecated/;
pass "Deprecated warning" unless $once++
};
use lib 't/testlib';
require Film;
}
sub Film::accessor_name {
my ($class, $col) = @_;
return "sheep" if lc $col eq "numexplodingsheep";
return $col;
}
my $data = {
Title => 'Bad Taste',
Director => 'Peter Jackson',
Rating => 'R',
};
my $bt;
eval {
my $data = $data;
$data->{sheep} = 1;
ok $bt = Film->insert($data), "Modified accessor - with accessor";
isa_ok $bt, "Film";
};
is $@, '', "No errors";
eval {
ok $bt->sheep(2), 'Modified accessor, set';
ok $bt->update, 'Update';
};
is $@, '', "No errors";