summaryrefslogtreecommitdiff
path: root/cpan/Test-Simple/lib/Test/Tester/Delegate.pm
blob: 84691a233663c0569450e68687b2e1c1aa4704a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
use strict;
use warnings;

#warn "Test::Tester::Delegate is deprecated, see Test::Tester2\n";

package Test::Tester::Delegate;

use vars '$AUTOLOAD';

sub new {
    my $pkg = shift;

    my $obj = shift;
    my $self = bless {}, $pkg;

    return $self;
}

sub AUTOLOAD {
    my ($sub) = $AUTOLOAD =~ /.*::(.*?)$/;

    return if $sub eq "DESTROY";

    my $obj = $_[0]->{Object};

    my $ref = $obj->can($sub);
    shift(@_);
    unshift(@_, $obj);
    goto &$ref;
}

1;