Increase default pipe buffer size on VMS to 8192 on 64-bit systems.
[p5sagit/p5-mst-13.2.git] / cpan / Log-Message-Simple / t / 03_functions.t
CommitLineData
f0ac4cdb 1use Test::More 'no_plan';
2use strict;
3
4my $Class = 'Log::Message::Simple';
5my @Carp = qw[carp croak cluck confess];
6my @Msg = qw[msg debug error];
7my $Text = 'text';
8my $Pkg = 'Test::A';
9
10use_ok( $Class );
11
12{ package Test::A;
13
14 ### set up local equivalents to exported functions
15 ### so we can print to closed FH without having to worry
16 ### about warnings
17 ### close stderr/warnings for that same purpose, as carp
18 ### & friends will print there
19 for my $name (@Carp, @Msg) {
20 no strict 'refs';
21 *$name = sub {
22 local $^W;
23
24 ### do the block twice to avoid 'used only once'
25 ### warnings
26 local $Log::Message::Simple::ERROR_FH;
27 local $Log::Message::Simple::DEBUG_FH;
28 local $Log::Message::Simple::MSG_FH;
29
30 local $Log::Message::Simple::ERROR_FH;
31 local $Log::Message::Simple::DEBUG_FH;
32 local $Log::Message::Simple::MSG_FH;
33
34
35
36
37 local *STDERR;
38 local $SIG{__WARN__} = sub { };
39
40 my $ref = $Class->can( $name );
41
42
43 $ref->( @_ );
44 };
45 }
46}
47
48for my $name (@Carp, @Msg) {
49
50 my $ref = $Pkg->can( $name );
51 ok( $ref, "Found function for '$name'" );
52
53 ### start with an empty stack?
54 cmp_ok( scalar @{[$Class->stack]}, '==', 0,
55 " Starting with empty stack" );
56 ok(!$Class->stack_as_string," Stringified stack empty" );
57
58 ### call the func... no output should appear
59 ### eval this -- the croak/confess functions die
60 eval { $ref->( $Text ); };
61
62 my @stack = $Class->stack;
63 cmp_ok( scalar(@stack), '==', 1,
64 " Text logged to stack" );
65
66 for my $re ( $Text, quotemeta '['.uc($name).']' ) {
67 like( $Class->stack_as_string, qr/$re/,
68 " Text as expected" );
69 }
70
71 ### empty stack again ###
72 ok( $Class->flush, " Stack flushed" );
73 cmp_ok( scalar @{[$Class->stack]}, '==', 0,
74 " Starting with empty stack" );
75 ok(!$Class->stack_as_string," Stringified stack empty" );
76}