1#!perl -w 2 3BEGIN { 4 if( $ENV{PERL_CORE} ) { 5 chdir 't'; 6 @INC = '../lib'; 7 } 8 else { 9 unshift @INC, 't/lib'; 10 } 11} 12 13use strict; 14 15use Test::Builder; 16use Test::Builder::NoOutput; 17use Test::Simple; 18 19# TB methods expect to be wrapped 20my $ok = sub { shift->ok(@_) }; 21my $plan = sub { shift->plan(@_) }; 22my $done_testing = sub { shift->done_testing(@_) }; 23 24my $TB = Test::Builder->new; 25my $test = Test::Builder::NoOutput->create; 26$test->$plan( tests => 3 ); 27 28local $ENV{HARNESS_ACTIVE} = 0; 29 30$test->$ok(1, 'Foo'); 31$TB->is_eq($test->read(), <<END); 321..3 33ok 1 - Foo 34END 35 36#line 30 37$test->$ok(0, 'Bar'); 38$TB->is_eq($test->read(), <<END); 39not ok 2 - Bar 40# Failed test 'Bar' 41# at $0 line 30. 42END 43 44$test->$ok(1, 'Yar'); 45$test->$ok(1, 'Car'); 46$TB->is_eq($test->read(), <<END); 47ok 3 - Yar 48ok 4 - Car 49END 50 51#line 45 52$test->$ok(0, 'Sar'); 53$TB->is_eq($test->read(), <<END); 54not ok 5 - Sar 55# Failed test 'Sar' 56# at $0 line 45. 57END 58 59$test->_ending(); 60$TB->is_eq($test->read(), <<END); 61# Looks like you planned 3 tests but ran 5. 62# Looks like you failed 2 tests of 5 run. 63END 64 65$TB->$done_testing(5); 66