App-karr

 view release on metacpan or  search on metacpan

t/132-delete-ref-refusal.t  view on Meta::CPAN

    };
    return $code->();
}

my $LOCK = 'refs/karr-local/tasks/12/lock';

subtest 'a refused delete is not the answer for a ref that was never there' => sub {
    my $git = repo();
    $git->write_ref( 'refs/karr/tasks/1/data', "one\n" );

    is $git->delete_ref('refs/karr/tasks/404/data'), 0,
        'nothing to delete is still a plain 0, not an exception';

    my $before = App::karr::Git->pending_writes;
    my $err = refusing( ['refs/karr/tasks/1/data'], sub {
        local $@;
        eval { $git->delete_ref('refs/karr/tasks/1/data'); 1 } ? '' : $@;
    } );

    like $err, qr/^karr: could not delete refs\/karr\/tasks\/1\/data: /,
        'a delete libgit2 refused says so instead of answering like a no-op';



( run in 0.363 second using v1.01-cache-2.11-cpan-788537b7465 )