diff options
Diffstat (limited to 't/comp/proto.t')
-rwxr-xr-x | t/comp/proto.t | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/t/comp/proto.t b/t/comp/proto.t index d1cfede8af..2a4c9ccce5 100755 --- a/t/comp/proto.t +++ b/t/comp/proto.t @@ -16,7 +16,7 @@ BEGIN { use strict; -print "1..76\n"; +print "1..80\n"; my $i = 1; @@ -362,20 +362,35 @@ printf "ok %d\n",$i++; ## ## -testing \&an_array_ref, '\@'; +testing \&array_ref_plus, '\@@'; -sub an_array_ref (\@) { +sub array_ref_plus (\@@) { print "# \@_ = (",join(",",@_),")\n"; - print "not " unless ref($_[0]) && 1 == @{$_[0]}; + print "not " unless @_ == 2 && ref($_[0]) && 1 == @{$_[0]} && $_[1] eq 'x'; printf "ok %d\n",$i++; @{$_[0]} = (qw(ok)," ",$i++,"\n"); } @array = ('a'); -an_array_ref @array; +{ my @more = ('x'); + array_ref_plus @array, @more; } print "not " unless @array == 4; print @array; +my $p; +print "not " if defined prototype('CORE::print'); +print "ok ", $i++, "\n"; + +print "not " if defined prototype('CORE::system'); +print "ok ", $i++, "\n"; + +print "# CORE::open => ($p)\nnot " if ($p = prototype('CORE::open')) ne '*;$'; +print "ok ", $i++, "\n"; + +print "# CORE:Foo => ($p), \$@ => `$@'\nnot " + if defined ($p = eval { prototype('CORE::Foo') or 1 }) or $@ !~ /^Cannot find an opnumber/; +print "ok ", $i++, "\n"; + # correctly note too-short parameter lists that don't end with '$', # a possible regression. |