Assert-Refute
view release on metacpan or search on metacpan
lib/Assert/Refute/Driver/More.pm view on Meta::CPAN
which is assumed to be a singleton as of this writing.
=cut
sub new {
my ($class, %opt) = @_;
confess "Test::Builder not initialised, refusing toi proceed"
unless Test::Builder->can("new");
my $self = $class->SUPER::new(%opt);
$self->{builder} = Test::Builder->new; # singletone this far
$self;
};
=head2 refute( $condition, $message )
The allmighty refute() boils down to
ok !$condition, $message
or diag $condition;
lib/Assert/Refute/Driver/More.pm view on Meta::CPAN
$self->{builder}->ok(!$reason, $mess);
# see Assert::Refute::Report->get_result_detail
if (ref $reason eq 'ARRAY') {
$self->{builder}->diag(to_scalar($_)) for @$reason;
} elsif ($reason and $reason ne 1) {
$self->{builder}->diag(to_scalar($reason));
};
# Do we even need to track it here?
$self->SUPER::refute($reason, $mess);
};
=head2 subcontract
Proxy to L<Test::More>'s subtest.
=cut
sub subcontract {
my ($self, $mess, $todo, @args) = @_;
lib/Assert/Refute/Driver/More.pm view on Meta::CPAN
=head2 done_testing
Proxy for C<done_testing> in L<Test::More>.
=cut
sub done_testing {
my $self = shift;
$self->{builder}->done_testing;
$self->SUPER::done_testing;
};
=head2 do_log( $indent, $level, $message )
Just fall back to diag/note.
Indentation is ignored.
=cut
sub do_log {
my ($self, $indent, $level, @mess) = @_;
if ($level == -1) {
$self->{builder}->diag($_) for @mess;
} elsif ($level > 0) {
$self->{builder}->note($_) for @mess;
};
$self->SUPER::do_log( $indent, $level, @mess );
};
=head2 get_count
Current test number.
=cut
sub get_count {
my $self = shift;
( run in 0.687 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )