#!./perl
+my $file;
BEGIN {
+ $file = $0;
chdir 't' if -d 't';
@INC = '../lib';
}
SKIP: {
# this is ugly, but -f $0 really *ought* to work
- skip("-f $0 fails, some tests difficult now", 2) unless -f $0;
+ skip("-f $file fails, some tests difficult now", 2) unless -f $file;
- $ENV{TERMCAP} = $ENV{TERMPATH} = $0;
- ok( grep($0, Term::Cap::termcap_path()),
+ $ENV{TERMCAP} = $ENV{TERMPATH} = $file;
+ ok( grep($file, Term::Cap::termcap_path()),
'termcap_path() should find file from $ENV{TERMCAP}' );
$ENV{TERMCAP} = (grep { $^O eq $_ } qw( os2 MSWin32 dos )) ? 'a:/' : '/';
- ok( grep($0, Term::Cap::termcap_path()),
+ ok( grep($file, Term::Cap::termcap_path()),
'termcap_path() should find file from $ENV{TERMPATH}' );
}
eval { $t = Term::Cap->Tgetent($vals) };
isn't( $@, '', 'Tgetent() should catch bad termcap file' );
-# if there's no valid termcap file found, it should croak
-$vals->{TERM} = '';
-$ENV{TERMPATH} = $0;
-eval { $t = Term::Cap->Tgetent($vals) };
-like( $@, qr/failed termcap lookup/, 'Tgetent() should dies with bad termcap' );
-
SKIP: {
- skip( "Can't write 'tcout' file for tests", 8 ) unless $writable;
+ skip( "Can't write 'tcout' file for tests", 9 ) unless $writable;
+
+ # it won't find the termtype in this fake file, so it should croak
+ $vals->{TERM} = 'quux';
+ $ENV{TERMPATH} = 'tcout';
+ eval { $t = Term::Cap->Tgetent($vals) };
+ like( $@, qr/failed termcap/, 'Tgetent() should die with bad termcap' );
# it shouldn't try to read one file more than 32(!) times
# see __END__ for a really awful termcap example
-
$ENV{TERMPATH} = join(' ', ('tcout') x 33);
$vals->{TERM} = 'bar';
eval { $t = Term::Cap->Tgetent($vals) };