1use strict; 2use Test::More; 3 4BEGIN { 5 eval "use DBD::SQLite"; 6 plan $@ 7 ? (skip_all => 'needs DBD::SQLite for testing') 8 : (tests => 7); 9} 10 11INIT { 12 my $once = 0; 13 local $SIG{__WARN__} = sub { 14 fail $_[0] unless $_[0] =~ /deprecated/; 15 pass "Deprecated warning" unless $once++ 16 }; 17 use lib 't/testlib'; 18 require Film; 19} 20 21sub Film::accessor_name { 22 my ($class, $col) = @_; 23 return "sheep" if lc $col eq "numexplodingsheep"; 24 return $col; 25} 26 27my $data = { 28 Title => 'Bad Taste', 29 Director => 'Peter Jackson', 30 Rating => 'R', 31}; 32 33my $bt; 34eval { 35 my $data = $data; 36 $data->{sheep} = 1; 37 ok $bt = Film->insert($data), "Modified accessor - with accessor"; 38 isa_ok $bt, "Film"; 39}; 40is $@, '', "No errors"; 41 42eval { 43 ok $bt->sheep(2), 'Modified accessor, set'; 44 ok $bt->update, 'Update'; 45}; 46is $@, '', "No errors"; 47