no strict 'refs';
no warnings 'redefine';
my $submit = qualify_to_ref('submit', $subclass);
- $self->{_child_submit} = \&$submit;
- *{"${subclass}::submit"} = sub {
- my $self = shift;
- $self->_pre_submit();
-
+ unless ( $subclass->can('submit') eq
+ $class->can('submit'))
+ {
+
+ $self->{_child_submit} = \&$submit;
+ *{"${subclass}::submit"} = sub {
+ my $self = shift;
+ $self->_pre_submit();
+ }
}
}
#!/usr/bin/perl
-# $Id: bop.t,v 1.3 2006-08-30 18:48:40 plobbes Exp $
+# $Id: bop.t,v 1.4 2006-08-31 15:06:32 lawrence Exp $
use strict;
use warnings;
use strict;
use warnings;
use base qw(Business::OnlinePayment);
+
}
my $package = "Business::OnlinePayment";
can_ok( $package, qw(submit) );
can_ok( $obj, qw(submit) );
- # XXX
- # eval { $obj->submit; };
- # like( $@, qr/^Processor subclass did not /, "missing submit() croaks" );
- #Tests turned off due to bug:
- # Deep recursion on anonymous subroutine
- # at .../Business/OnlinePayment.pm line 110.
- # Deep recursion on subroutine "Business::OnlinePayment::_pre_submit"
- # at .../Business/OnlinePayment.pm line 74.
+
+ eval { $obj->submit; };
+ like( $@, qr/^Processor subclass did not /, "missing submit() croaks" );
}
{ # dump_contents