diff options
Diffstat (limited to 'ext/autodie/t/internal-backcompat.t')
-rwxr-xr-x | ext/autodie/t/internal-backcompat.t | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/ext/autodie/t/internal-backcompat.t b/ext/autodie/t/internal-backcompat.t deleted file mode 100755 index 9f7196c3c5..0000000000 --- a/ext/autodie/t/internal-backcompat.t +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/perl -w -use strict; -use warnings; -use Fatal; -use Test::More 'no_plan'; - -# Tests to determine if Fatal's internal interfaces remain backwards -# compatible. -# -# WARNING: This file contains a lot of very ugly code, hard-coded -# strings, and nasty API calls. It may frighten small children. -# Viewer discretion is advised. - -# fill_protos. This hasn't been changed since the original Fatal, -# and so should always be the same. - -my %protos = ( - '$' => [ [ 1, '$_[0]' ] ], - '$$' => [ [ 2, '$_[0]', '$_[1]' ] ], - '$$@' => [ [ 3, '$_[0]', '$_[1]', '@_[2..$#_]' ] ], - '\$' => [ [ 1, '${$_[0]}' ] ], - '\%' => [ [ 1, '%{$_[0]}' ] ], - '\%;$*' => [ [ 1, '%{$_[0]}' ], [ 2, '%{$_[0]}', '$_[1]' ], - [ 3, '%{$_[0]}', '$_[1]', '$_[2]' ] ], -); - -while (my ($proto, $code) = each %protos) { - is_deeply( [ Fatal::fill_protos($proto) ], $code, $proto); -} - -# write_invocation tests -no warnings 'qw'; - -# Technically the outputted code varies from the classical Fatal. -# However the changes are mostly whitespace. Those that aren't are -# improvements to error messages. - -my @write_invocation_calls = ( - [ - # Core # Call # Name # Void # Args - [ 1, 'CORE::open', 'open', 0, [ 1, qw($_[0]) ], - [ 2, qw($_[0] $_[1]) ], - [ 3, qw($_[0] $_[1] @_[2..$#_])] - ], - q{ if (@_ == 1) { -return CORE::open($_[0]) || croak "Can't open(@_): $!" } elsif (@_ == 2) { -return CORE::open($_[0], $_[1]) || croak "Can't open(@_): $!" } elsif (@_ == 3) { -return CORE::open($_[0], $_[1], @_[2..$#_]) || croak "Can't open(@_): $!" - } - die "Internal error: open(@_): Do not expect to get ", scalar(@_), " arguments"; - } - ] -); - -foreach my $test (@write_invocation_calls) { - is(Fatal::write_invocation( @{ $test->[0] } ), $test->[1], 'write_inovcation'); -} - -# one_invocation tests. - -my @one_invocation_calls = ( - # Core # Call # Name # Void # Args - [ - [ 1, 'CORE::open', 'open', 0, qw($_[0] $_[1] @_[2..$#_]) ], - q{return CORE::open($_[0], $_[1], @_[2..$#_]) || croak "Can't open(@_): $!"}, - ], - [ - [ 1, 'CORE::open', 'open', 1, qw($_[0] $_[1] @_[2..$#_]) ], - q{return (defined wantarray)?CORE::open($_[0], $_[1], @_[2..$#_]): - CORE::open($_[0], $_[1], @_[2..$#_]) || croak "Can't open(@_): $!"}, - ], -); - -foreach my $test (@one_invocation_calls) { - is(Fatal::one_invocation( @{ $test->[0] } ), $test->[1], 'one_inovcation'); -} - -# TODO: _make_fatal -# Since this subroutine has always started with an underscore, -# I think it's pretty clear that it's internal-only. I'm not -# testing it here, and it doesn't yet have backcompat. |