Test::Simple/More/Builder/Tutorial 0.41
[p5sagit/p5-mst-13.2.git] / lib / Test / Simple / t / extra.t
1 #!perl -w
2
3 BEGIN {
4     if( $ENV{PERL_CORE} ) {
5         chdir 't';
6         @INC = '../lib';
7     }
8 }
9
10 # Can't use Test.pm, that's a 5.005 thing.
11 package My::Test;
12
13 print "1..2\n";
14
15 my $test_num = 1;
16 # Utility testing functions.
17 sub ok ($;$) {
18     my($test, $name) = @_;
19     my $ok = '';
20     $ok .= "not " unless $test;
21     $ok .= "ok $test_num";
22     $ok .= " - $name" if defined $name;
23     $ok .= "\n";
24     print $ok;
25     $test_num++;
26 }
27
28
29 package main;
30
31 require Test::Simple;
32
33 chdir 't';
34 push @INC, '../t/lib/';
35 require Test::Simple::Catch;
36 my($out, $err) = Test::Simple::Catch::caught();
37
38 Test::Simple->import(tests => 3);
39
40 #line 30
41 ok(1, 'Foo');
42 ok(0, 'Bar');
43 ok(1, 'Yar');
44 ok(1, 'Car');
45 ok(0, 'Sar');
46
47 END {
48     My::Test::ok($$out eq <<OUT);
49 1..3
50 ok 1 - Foo
51 not ok 2 - Bar
52 ok 3 - Yar
53 ok 4 - Car
54 not ok 5 - Sar
55 OUT
56
57     My::Test::ok($$err eq <<ERR);
58 #     Failed test ($0 at line 31)
59 #     Failed test ($0 at line 34)
60 # Looks like you planned 3 tests but ran 2 extra.
61 ERR
62
63     exit 0;
64 }