[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