|
Packit |
6427f8 |
#!/usr/bin/perl -w
|
|
Packit |
6427f8 |
use strict;
|
|
Packit |
6427f8 |
|
|
Packit |
6427f8 |
use constant NO_SUCH_FILE => "this_file_or_dir_had_better_not_exist_XYZZY";
|
|
Packit |
6427f8 |
|
|
Packit |
6427f8 |
use Test::More tests => 17;
|
|
Packit |
6427f8 |
|
|
Packit |
6427f8 |
use Fatal qw(:io :void opendir);
|
|
Packit |
6427f8 |
|
|
Packit |
6427f8 |
eval { open FOO, "<".NO_SUCH_FILE }; # Two arg open
|
|
Packit |
6427f8 |
like($@, qr/^Can't open/, q{Package Fatal::open});
|
|
Packit |
6427f8 |
is(ref $@, "", "Regular fatal throws a string");
|
|
Packit |
6427f8 |
|
|
Packit |
6427f8 |
my $foo = 'FOO';
|
|
Packit |
6427f8 |
for ('$foo', "'$foo'", "*$foo", "\\*$foo") {
|
|
Packit |
6427f8 |
eval qq{ open $_, '<$0' };
|
|
Packit |
6427f8 |
|
|
Packit |
6427f8 |
is($@,"", "Open using filehandle named - $_");
|
|
Packit |
6427f8 |
|
|
Packit |
6427f8 |
like(scalar(<$foo>), qr{^#!.*/perl}, "File contents using - $_");
|
|
Packit |
6427f8 |
eval qq{ close FOO };
|
|
Packit |
6427f8 |
|
|
Packit |
6427f8 |
is($@,"", "Close filehandle using - $_");
|
|
Packit |
6427f8 |
}
|
|
Packit |
6427f8 |
|
|
Packit |
6427f8 |
eval { opendir FOO, NO_SUCH_FILE };
|
|
Packit |
6427f8 |
like($@, qr{^Can't open}, "Package :void Fatal::opendir");
|
|
Packit |
6427f8 |
|
|
Packit |
6427f8 |
eval { my $a = opendir FOO, NO_SUCH_FILE };
|
|
Packit |
6427f8 |
is($@, "", "Package :void Fatal::opendir in scalar context");
|
|
Packit |
6427f8 |
|
|
Packit |
6427f8 |
eval { Fatal->import(qw(print)) };
|
|
Packit |
6427f8 |
like(
|
|
Packit |
6427f8 |
$@, qr{Cannot make the non-overridable builtin print fatal},
|
|
Packit |
6427f8 |
"Can't override print"
|
|
Packit |
6427f8 |
);
|