⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 03_functions.t

📁 source of perl for linux application,
💻 T
字号:
use Test::More 'no_plan';use strict;my $Class   = 'Log::Message::Simple';my @Carp    = qw[carp croak cluck confess];my @Msg     = qw[msg debug error];my $Text    = 'text';my $Pkg     = 'Test::A';use_ok( $Class );{   package Test::A;    ### set up local equivalents to exported functions    ### so we can print to closed FH without having to worry    ### about warnings    ### close stderr/warnings for that same purpose, as carp    ### & friends will print there    for my $name (@Carp, @Msg) {        no strict 'refs';        *$name = sub {                      local $^W;                    ### do the block twice to avoid 'used only once'                    ### warnings                    local $Log::Message::Simple::ERROR_FH;                    local $Log::Message::Simple::DEBUG_FH;                    local $Log::Message::Simple::MSG_FH;                    local $Log::Message::Simple::ERROR_FH;                    local $Log::Message::Simple::DEBUG_FH;                    local $Log::Message::Simple::MSG_FH;                    local *STDERR;                    local $SIG{__WARN__} = sub { };                                        my $ref = $Class->can( $name );                    $ref->( @_ );                };    }      }for my $name (@Carp, @Msg) {        my $ref = $Pkg->can( $name );    ok( $ref,                   "Found function for '$name'" );    ### start with an empty stack?    cmp_ok( scalar @{[$Class->stack]}, '==', 0,                                "   Starting with empty stack" );    ok(!$Class->stack_as_string,"   Stringified stack empty" );                                        ### call the func... no output should appear    ### eval this -- the croak/confess functions die    eval { $ref->( $Text ); };        my @stack = $Class->stack;    cmp_ok( scalar(@stack), '==', 1,                                "   Text logged to stack" );                                    for my $re ( $Text, quotemeta '['.uc($name).']' ) {                                       like( $Class->stack_as_string, qr/$re/,                                "   Text as expected" );    }    ### empty stack again ###        ok( $Class->flush,          "   Stack flushed" );    cmp_ok( scalar @{[$Class->stack]}, '==', 0,                                "   Starting with empty stack" );    ok(!$Class->stack_as_string,"   Stringified stack empty" );                                }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -