Blame t/Fatal.t

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
);