File: | blib/lib/Test/Mocha/MethodCall.pm |
Coverage: | 100.0% |
line | stmt | bran | cond | sub | pod | time | code |
---|---|---|---|---|---|---|---|
1 | package Test::Mocha::MethodCall; | ||||||
2 | # ABSTRACT: Objects to represent method calls | ||||||
3 | $Test::Mocha::MethodCall::VERSION = '0.61'; | ||||||
4 | 24 24 24 | 73 31 77 | use parent 'Test::Mocha::Method'; | ||||
5 | 24 24 24 | 597 22 366 | use strict; | ||||
6 | 24 24 24 | 47 24 1701 | use warnings; | ||||
7 | |||||||
8 | sub new { | ||||||
9 | # uncoverable pod | ||||||
10 | 546 | 0 | 875 | my ( $class, %args ) = @_; | |||
11 | # caller should be an arrayref tuple [file, line] | ||||||
12 | ### assert: defined $args{invocant} | ||||||
13 | ### assert: defined $args{caller} | ||||||
14 | ### assert: ref $args{caller} eq 'ARRAY' && @{$args{caller}} == 2 | ||||||
15 | 546 | 1262 | return $class->SUPER::new(%args); | ||||
16 | } | ||||||
17 | |||||||
18 | sub invocant { | ||||||
19 | # uncoverable pod | ||||||
20 | 258 | 0 | 618 | return $_[0]->{invocant}; | |||
21 | } | ||||||
22 | |||||||
23 | sub caller { ## no critic (ProhibitBuiltinHomonyms) | ||||||
24 | # uncoverable pod | ||||||
25 | 90 90 | 0 | 44 314 | return @{ $_[0]->{caller} }; # ($file, $line) | |||
26 | } | ||||||
27 | |||||||
28 | sub stringify_long { | ||||||
29 | # uncoverable pod | ||||||
30 | 88 | 0 | 1221 | my ($self) = @_; | |||
31 | 88 | 137 | return sprintf '%s called at %s line %d', | ||||
32 | $self->SUPER::stringify, $self->caller; | ||||||
33 | } | ||||||
34 | |||||||
35 | 1; |