summaryrefslogtreecommitdiff
path: root/cpan/CPANPLUS/t/10_CPANPLUS-Error.t
diff options
context:
space:
mode:
Diffstat (limited to 'cpan/CPANPLUS/t/10_CPANPLUS-Error.t')
-rw-r--r--cpan/CPANPLUS/t/10_CPANPLUS-Error.t114
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: