Plate

 view release on metacpan or  search on metacpan

t/04-disk.t  view on Meta::CPAN

        require Devel::Cover;
        import Devel::Cover -db => 'cover_db', -coverage => qw(branch condition statement subroutine), -silent => 1, '+ignore' => qr'^t/';
    }
}

my $warned;
$SIG{__WARN__} = sub {
    $warned = 1;
    goto &diag;
};
sub warnings_are(&$;$) {
    my($sub, $exp, $out) = @_;
    my @got;
    local $SIG{__WARN__} = sub {
        push @got, join '', @_;
    };
    $sub->();
    my $ok = @got == @$exp;
    $ok &&= $got[$_] =~ $$exp[$_] for 0..$#got;
    ok $ok, $out
        or do {

t/06-line-num.t  view on Meta::CPAN

    }
}

use Plate;

my $warned;
$SIG{__WARN__} = sub {
    $warned = 1;
    goto &diag;
};
sub warnings_are(&$;$) {
    my($sub, $exp, $out) = @_;
    my @got;
    local $SIG{__WARN__} = sub {
        push @got, join '', @_;
    };
    my $ok = defined eval { $sub->() };
    $ok &&= @got == @$exp;
    $ok &&= $got[$_] =~ $$exp[$_] for 0..$#got;
    ok $ok, $out
        or do {
        if ($@) {
            diag $@;
        } else {
            diag "found warning: $_" for @got;
            diag "found no warnings" unless @got;
            diag "expected warning: $_" for @$exp;
            diag "expected no warnings" unless @$exp;
        }
    };
}
sub warning_lines_are(&$;$) {
    $_ = qr/^L$_ at .*? line $_\.$/ for @{$_[1]};
    &warnings_are;
}

my $plate = Plate->new(cache_code => undef);

warning_lines_are { $plate->serve(\<<'') } [4], 'Precompiled multi-line statements';
%% my $zero
%% = 0
%% ;



( run in 0.742 second using v1.01-cache-2.11-cpan-49f99fa48dc )