Devel-Agent

 view release on metacpan or  search on metacpan

t/Devel-Agent-Proxy.t  view on Meta::CPAN

use Modern::Perl;
use Test::More qw(no_plan);
use FindBin qw($Bin);
use lib $Bin;
use Data::Dumper;
$|=1;
require Devel::Agent;
require TestMe;
require TestMe2;

my $pkg='Devel::Agent::Proxy';
require_ok($pkg);
use_ok($pkg);

{
  my $agent=new DB;
  

  my $class='TestMe';
  my $obj=$class->new;
  my $self=$pkg->new(
    debugger_agent=>$agent,
    proxy_class_name=>'TestMe',
    proxied_object=>$obj,
    current_method=>'new',
  );

  isa_ok($self,$class);

  foreach my $method (qw(test_a test1)) {
    my $cb=$self->can($method);
    ok($cb,"Should pass \$self->can('$method')");
  }
  $obj->test1('test');
  cmp_ok($self->test1,'eq',$obj->test1);
}
{
  my $agent=new DB;

  my $class='TestMe2';
  my $obj=$class->new;
  my $self=$pkg->new(
    debugger_agent=>$agent,
    proxy_class_name=>$class,
    proxied_object=>$obj,
    current_method=>'new',
  );

  isa_ok($self,$class);

  foreach my $method (qw(echo test_a test1)) {
    my $cb=$self->can($method);
    ok($cb,"Should pass \$self->can('$method')");
  }
  $obj->test1('test');

  cmp_ok($self->test1,'eq',$obj->test1);

  my $args=[1,2,3];
  is_deeply($self->echo(@$args),$args,'validate subclassed proxied autoload');



( run in 1.099 second using v1.01-cache-2.11-cpan-364913b4093 )