CPAN-Distribution-ReleaseHistory

 view release on metacpan or  search on metacpan

t/live-moo-history.t  view on Meta::CPAN

use strict;
use warnings;

use Test::More;
use Test::RequiresInternet ( 'api.metacpan.org' => 80 );
use Test::Fatal qw( exception );

# ABSTRACT: Show live Moo history

0 and eval <<'DEBUGGING';
  use HTTP::Tiny;
  package HTTP::Tiny;

  use Class::Method::Modifiers qw( around );
  use Data::Dump qw(pp);
  require JSON;

  sub _decode_response {
    my ( $response ) = @_;
    if ( exists $response->{content} ) {
      my $clone = { %{$response} };

      my $data = $clone->{content};
      local $@;
      my $ok = eval {
        $clone->{content} = JSON->new->decode( "$data" );
        1;
      };
      $response->{json_err} = substr $@, 0, 130 if not $ok;
      #warn $@ if not $ok;
      return $clone if $ok;
    }
    return $response;
  }
  sub _decode_request {
    my ( $request ) = @_;
    my ( $method, $url, $params ) = @_;
    return $request unless $params;
    return $request unless $params->{'content'};
    my $content;
    return $request unless eval { $content = JSON->new->decode( $params->{'content'}); 1 };
    my $clone = {%{$params}};
    $clone->{content} = $content;
    return [ $method, $url, $clone ];
  }
  around 'request' => sub {
    my ( $orig, $self, @args )  = @_;
      pp( _decode_request(@args) );
      my $rval = $orig->( $self, @args );
      pp( _decode_response($rval));
      return $rval;
  };
DEBUGGING

use CPAN::Distribution::ReleaseHistory;

my $rh;
my $e;
is(
  $e = exception {
    $rh = CPAN::Distribution::ReleaseHistory->new(
      distribution => "Moo",
      sort         => 'asc',
    );
  },
  undef,



( run in 1.129 second using v1.01-cache-2.11-cpan-54e63673c56 )