diff options
Diffstat (limited to 'cpan/CPANPLUS/t/10_CPANPLUS-Error.t')
-rw-r--r-- | cpan/CPANPLUS/t/10_CPANPLUS-Error.t | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/cpan/CPANPLUS/t/10_CPANPLUS-Error.t b/cpan/CPANPLUS/t/10_CPANPLUS-Error.t deleted file mode 100644 index 355ca7aad4..0000000000 --- a/cpan/CPANPLUS/t/10_CPANPLUS-Error.t +++ /dev/null @@ -1,114 +0,0 @@ -### make sure we can find our conf.pl file -BEGIN { - use FindBin; - require "$FindBin::Bin/inc/conf.pl"; -} - -use strict; -use Test::More 'no_plan'; -use Data::Dumper; -use FileHandle; -use CPANPLUS::Error; - -my $conf = gimme_conf(); - -my $map = { - cp_msg => ["This is just a test message"], - msg => ["This is just a test message"], - cp_error => ["This is just a test error"], - error => ["This is just a test error"], -}; - -### check if CPANPLUS::Error can do what we expect -{ for my $name ( keys %$map ) { - can_ok('CPANPLUS::Error', $name); - can_ok('main', $name); # did it get exported? - } -} - -### make sure we start with an empty stack -{ CPANPLUS::Error->flush; - is( scalar(()=CPANPLUS::Error->stack), 0, - "Starting with empty stack" ); -} - -### global variables test ### -{ my $file = output_file(); - - ### this *has* to be set, as we're testing the contents of the file - ### to see if it matches what's stored in the buffer. - local $CPANPLUS::Error::MSG_FH = output_handle(); - local $CPANPLUS::Error::ERROR_FH = output_handle(); - - ok( -e $file, "Output redirect file exists" ); - ok( !-s $file, " Output file is empty" ); - - ### print a msg & error ### - for my $name ( keys %$map ) { - my $sub = __PACKAGE__->can( $name ); - - $sub->( $map->{$name}->[0], 1 ); - } - - ### must close it for Win32 tests! - close output_handle; - - ok( -s $file, " Output file now has size" ); - - my $fh = FileHandle->new( $file ); - ok( $fh, "Opened output file for reading " ); - - my $contents = do { local $/; <$fh> }; - my $string = CPANPLUS::Error->stack_as_string; - my $trace = CPANPLUS::Error->stack_as_string(1); - - ok( $contents, " Got the file contents" ); - ok( $string, "Got the error stack as string" ); - - - for my $type ( keys %$map ) { - my $tag = $type; $tag =~ s/.+?_//g; - - for my $str (@{ $map->{$type} } ) { - like( $contents, qr/\U\Q$tag/, - " Contents matches for '$type'" ); - like( $contents, qr/\Q$str/, - " Contents matches for '$type'" ); - - like( $string, qr/\U\Q$tag/, - " String matches for '$type'" ); - like( $string, qr/\Q$str/, - " String matches for '$type'" ); - - like( $trace, qr/\U\Q$tag/, - " Trace matches for '$type'" ); - like( $trace, qr/\Q$str/, - " Trace matches for '$type'" ); - - ### extra trace tests ### - like( $trace, qr/\Q$str\E.*?\Q$str/s, - " Trace holds proper traceback" ); - like( $trace, qr/\Q$0/, - " Trace holds program name" ); - like( $trace, qr/line/, - " Trace holds line number information" ); - } - } - - ### check the stack, flush it, check again ### - is( scalar(()=CPANPLUS::Error->stack), scalar(keys(%$map)), - "All items on stack" ); - is( scalar(()=CPANPLUS::Error->flush), scalar(keys(%$map)), - "All items flushed" ); - is( scalar(()=CPANPLUS::Error->stack), 0, - "No items on stack" ); - -} - - -# Local variables: -# c-indentation-style: bsd -# c-basic-offset: 4 -# indent-tabs-mode: nil -# End: -# vim: expandtab shiftwidth=4: |