[Jifty-commit] r1883 - jifty/trunk/t
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Wed Aug 30 17:43:02 EDT 2006
Author: schwern
Date: Wed Aug 30 17:42:51 2006
New Revision: 1883
Added:
jifty/trunk/t/03-is_passing.t (contents, props changed)
Modified:
/ (props changed)
jifty/trunk/lib/Jifty/Test.pm
Log:
r17563 at windhund: schwern | 2006-08-30 16:02:04 -0400
Adding Jifty::Test->is_passing and is_done
Modified: jifty/trunk/lib/Jifty/Test.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Test.pm (original)
+++ jifty/trunk/lib/Jifty/Test.pm Wed Aug 30 17:42:51 2006
@@ -32,6 +32,31 @@
=head1 METHODS
+=head2 is_passing
+
+ my $is_passing = Jifty::Test->is_passing;
+
+Check if all tests run so far have passed.
+
+=cut
+
+sub is_passing {
+ my $tb = Jifty::Test->builder;
+
+ my $is_failing = 0;
+ $is_failing ||= grep {not $_} $tb->summary;
+ $is_failing ||= $tb->expected_tests < $tb->current_test;
+
+ return !$is_failing;
+}
+
+
+sub is_done {
+ my $tb = Jifty::Test->builder;
+ return $tb->expected_tests == $tb->current_test;
+}
+
+
=head2 import_extra
Called by L<Test::More>'s C<import> code when L<Jifty::Test> is first
@@ -251,7 +276,7 @@
return if $Test->{Original_Pid} != $$;
# If all tests passed..
- unless ($Test->expected_tests != $Test->current_test or grep {not $_} $Test->summary) {
+ if (Jifty::Test->is_passing && Jifty::Test->is_done) {
# Clean up mailbox
Jifty::Test->teardown_mailbox;
Added: jifty/trunk/t/03-is_passing.t
==============================================================================
--- (empty file)
+++ jifty/trunk/t/03-is_passing.t Wed Aug 30 17:42:51 2006
@@ -0,0 +1,19 @@
+#!/usr/bin/env perl -w
+
+use strict;
+
+use Jifty::Test tests => 4;
+
+ok( Jifty::Test->is_passing, 'is_passing, with no tests yet run' );
+ok( Jifty::Test->is_passing, ' with tests run' );
+ok( !Jifty::Test->is_done );
+
+my $tb = Jifty::Test->builder;
+$tb->current_test(8);
+die "is_passing failed" if Jifty::Test->is_passing;
+
+$tb->current_test(3);
+pass;
+die "is_passing failed" unless Jifty::Test->is_passing;
+die "is_done failed" unless Jifty::Test->is_done;
+
More information about the Jifty-commit
mailing list