View | Details | Raw Unified | Return to bug 38818
Collapse All | Expand All

(-)a/t/lib/Mocks/Logger.pm (-9 / +35 lines)
Lines 72-79 sub new { Link Here
72
        $mocked_logger->mock(
72
        $mocked_logger->mock(
73
            $level,
73
            $level,
74
            sub {
74
            sub {
75
                my $message = $_[1];
75
                my $message     = $_[1];
76
                push @{ $self->{$level} }, $message;
76
                my @caller_info = caller(2);
77
                push @{ $self->{$level} }, { message => $message, caller => \@caller_info };
77
                return $message;
78
                return $message;
78
            }
79
            }
79
        );
80
        );
Lines 82-87 sub new { Link Here
82
    return $self;
83
    return $self;
83
}
84
}
84
85
86
=head3 diag
87
88
    $logger->diag();
89
90
Method to output all received logs.
91
92
=cut
93
94
sub diag {
95
    my ($self) = @_;
96
    my $tb = $CLASS->builder;
97
98
    foreach my $level ( levels() ) {
99
        $tb->diag("$level:");
100
        if ( @{ $self->{$level} } ) {
101
            foreach my $log_entry ( @{ $self->{$level} } ) {
102
                my ( $package, $filename, $line ) = @{ $log_entry->{caller} };
103
                $tb->diag( "    \"" . $log_entry->{message} . "\" at $filename line $line" );
104
            }
105
        } else {
106
            $tb->diag("   (No $level messages)");
107
        }
108
    }
109
    return;
110
}
111
85
=head3 debug_is
112
=head3 debug_is
86
113
87
    $logger->debug_is($expected);
114
    $logger->debug_is($expected);
Lines 311-319 sub generic_is { Link Here
311
338
312
    local $Test::Builder::Level = $Test::Builder::Level + 1;
339
    local $Test::Builder::Level = $Test::Builder::Level + 1;
313
340
314
    my $string = shift @{ $self->{$level} };
341
    my $log    = shift @{ $self->{$level} };
315
    $string //= '';
342
    my $string = defined($log) ? $log->{message} : '';
316
    my $tb = $CLASS->builder;
343
    my $tb     = $CLASS->builder;
317
    return $tb->is_eq( $string, $expect, $name );
344
    return $tb->is_eq( $string, $expect, $name );
318
}
345
}
319
346
Lines 328-336 sub generic_like { Link Here
328
355
329
    local $Test::Builder::Level = $Test::Builder::Level + 1;
356
    local $Test::Builder::Level = $Test::Builder::Level + 1;
330
357
331
    my $string = shift @{ $self->{$level} };
358
    my $log    = shift @{ $self->{$level} };
332
    $string //= '';
359
    my $string = defined($log) ? $log->{message} : '';
333
    my $tb = $CLASS->builder;
360
    my $tb     = $CLASS->builder;
334
    return $tb->like( $string, $expect, $name );
361
    return $tb->like( $string, $expect, $name );
335
}
362
}
336
363
337
- 

Return to bug 38818