File Coverage

blib/lib/Test/Mojo/Role/Debug/JSON.pm
Criterion Covered Total %
statement 24 24 100.0
branch 4 6 66.6
condition 2 4 50.0
subroutine 7 7 100.0
pod 2 2 100.0
total 39 43 90.7


line stmt bran cond sub pod time code
1             package Test::Mojo::Role::Debug::JSON;
2             $Test::Mojo::Role::Debug::JSON::VERSION = '0.005';
3             # ABSTRACT: a JSON extension to Test::Mojo::Role::Debug
4              
5 1     1   1445 use Mojo::Base -role;
  1         2  
  1         8  
6              
7             with 'Test::Mojo::Role::Debug';
8              
9 1     1   509 use Carp qw/croak/;
  1         4  
  1         76  
10              
11 1     1   7 use Mojo::JSON qw{from_json};
  1         3  
  1         49  
12 1     1   6 use Mojo::JSON::Pointer;
  1         1  
  1         9  
13 1     1   28 use Test::More ();
  1         2  
  1         282  
14              
15             # VERSION
16              
17             sub djson {
18 4     4 1 55644 my ( $self, $pointer ) = @_;
19 4 100       13 return $self->success ? $self : $self->djsona( $pointer );
20             }
21              
22             sub djsona {
23 4     4 1 16815 my ( $self, $pointer ) = @_;
24              
25 4         9 local $@;
26 4         9 my $json = eval { from_json( $self->tx->res->content->asset->slurp ) };
  4         13  
27              
28 4 50 0     605 Test::More::diag( $@ ) && return $self if $@;
29 4 50 100     30 Test::More::diag( "DEBUG JSON DUMPER:\n",
30             Test::More::explain( Mojo::JSON::Pointer->new($json)->get($pointer || '') )
31             ) if ref $json;
32              
33 4         1376 return $self;
34             }
35              
36             1;
37              
38             __END__