X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fdiscard_changes_in_DESTROY.t;fp=t%2Fdiscard_changes_in_DESTROY.t;h=950d9bdb048cf56c92b3d199be59b4ba790eb864;hb=1b32d56ec274e0f7054381c5b630b73f2ce3a699;hp=0000000000000000000000000000000000000000;hpb=4656f62f9425820ef15c30e2cc6bfb0bff2db423;p=dbsrgits%2FDBIx-Class.git diff --git a/t/discard_changes_in_DESTROY.t b/t/discard_changes_in_DESTROY.t new file mode 100644 index 0000000..950d9bd --- /dev/null +++ b/t/discard_changes_in_DESTROY.t @@ -0,0 +1,29 @@ +#!/usr/bin/perl -w + +use strict; +use Test::More; + +BEGIN { + eval "use DBIx::Class::CDBICompat;"; + plan $@ ? (skip_all => "Class::Trigger and DBIx::ContextualFetch required: $@") + : (tests=> 1); +} + +INIT { + use lib 't/testlib'; + use Film; +} + +{ + my @warnings; + local $SIG{__WARN__} = sub { push @warnings, @_; }; + { + # Test that this doesn't cause infinite recursion. + local *Film::DESTROY; + local *Film::DESTROY = sub { $_[0]->discard_changes }; + + my $film = Film->insert({ Title => "Eegah!" }); + $film->director("Arch Hall Sr."); + } + is_deeply \@warnings, []; +} \ No newline at end of file