#!perl -w use strict; BEGIN { if( $ENV{PERL_CORE} ) { chdir 't'; @INC = ('../lib', 'lib'); } else { unshift @INC, 't/lib'; } } chdir 't'; use Test::Builder; # The real Test::Builder my $Test = Test::Builder->new; $Test->plan( tests => 6 ); # The one we're going to test. my $tb = Test::Builder->create(); my $tmpfile = 'foo.tmp'; END { 1 while unlink($tmpfile) } # Test output to a file { my $out = $tb->output($tmpfile); $Test->ok( defined $out ); print $out "hi!\n"; close *$out; undef $out; open(IN, $tmpfile) or die $!; chomp(my $line = <IN>); close IN; $Test->is_eq($line, 'hi!'); } # Test output to a filehandle { open(FOO, ">>$tmpfile") or die $!; my $out = $tb->output(\*FOO); my $old = select *$out; print "Hello!\n"; close *$out; undef $out; select $old; open(IN, $tmpfile) or die $!; my @lines = <IN>; close IN; $Test->like($lines[1], qr/Hello!/); } # Test output to a scalar ref { my $scalar = ''; my $out = $tb->output(\$scalar); print $out "Hey hey hey!\n"; $Test->is_eq($scalar, "Hey hey hey!\n"); } # Test we can output to the same scalar ref { my $scalar = ''; my $out = $tb->output(\$scalar); my $err = $tb->failure_output(\$scalar); print $out "To output "; print $err "and beyond!"; $Test->is_eq($scalar, "To output and beyond!", "One scalar, two filehandles"); } # Ensure stray newline in name escaping works. { my $fakeout = ''; my $out = $tb->output(\$fakeout); $tb->exported_to(__PACKAGE__); $tb->no_ending(1); $tb->plan(tests => 5); $tb->ok(1, "ok"); $tb->ok(1, "ok\n"); $tb->ok(1, "ok, like\nok"); $tb->skip("wibble\nmoof"); $tb->todo_skip("todo\nskip\n"); $Test->is_eq( $fakeout, <<OUTPUT ) || print STDERR $fakeout; 1..5 ok 1 - ok ok 2 - ok # ok 3 - ok, like # ok ok 4 # skip wibble # moof not ok 5 # TODO & SKIP todo # skip # OUTPUT }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Builder.t | File | 635 B | 0644 |
|
carp.t | File | 587 B | 0644 |
|
create.t | File | 818 B | 0644 |
|
current_test.t | File | 259 B | 0644 |
|
current_test_without_plan.t | File | 233 B | 0644 |
|
details.t | File | 2.98 KB | 0644 |
|
done_testing.t | File | 235 B | 0644 |
|
done_testing_double.t | File | 912 B | 0644 |
|
done_testing_plan_mismatch.t | File | 787 B | 0644 |
|
done_testing_with_no_plan.t | File | 152 B | 0644 |
|
done_testing_with_number.t | File | 236 B | 0644 |
|
done_testing_with_plan.t | File | 153 B | 0644 |
|
fork_with_new_stdout.t | File | 907 B | 0644 |
|
has_plan.t | File | 366 B | 0644 |
|
has_plan2.t | File | 355 B | 0644 |
|
is_fh.t | File | 975 B | 0644 |
|
is_passing.t | File | 2.2 KB | 0644 |
|
maybe_regex.t | File | 1.28 KB | 0644 |
|
no_diag.t | File | 148 B | 0644 |
|
no_ending.t | File | 345 B | 0644 |
|
no_header.t | File | 298 B | 0644 |
|
no_plan_at_all.t | File | 722 B | 0644 |
|
ok_obj.t | File | 462 B | 0644 |
|
output.t | File | 1.95 KB | 0644 |
|
reset.t | File | 2 KB | 0644 |
|
reset_outputs.t | File | 784 B | 0644 |
|
try.t | File | 747 B | 0644 |
|