X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Findirect.git;a=blobdiff_plain;f=t%2F20-good.t;h=f6fe90abfc61c7e3a7958361d9c6488c51e29d66;hp=e04ee9d34c04c0a253e2d1e0e3b35f938e437249;hb=07fb4eb28539b53578b1421e348c12c921d180f1;hpb=b11e5a01561dde92d778ab423666bc76ac358c6a diff --git a/t/20-good.t b/t/20-good.t index e04ee9d..f6fe90a 100644 --- a/t/20-good.t +++ b/t/20-good.t @@ -9,7 +9,7 @@ package main; use strict; use warnings; -use Test::More tests => 101 * 8; +use Test::More tests => 119 * 8 + 10; BEGIN { delete $ENV{PERL_INDIRECT_PM_DISABLE} } @@ -71,6 +71,98 @@ SKIP: } } +# These tests must be run outside of eval to be meaningful. +{ + sub Zlott::Owww::new { } + + my (@warns, $hook, $desc, $id); + BEGIN { + $hook = sub { push @warns, indirect::msg(@_) }; + $desc = "test sort and line endings %d: no indirect construct"; + $id = 1; + } + + BEGIN { @warns = () } + { + no indirect hook => $hook; + my @stuff = sort Zlott::Owww + ->new; + } + BEGIN { is_deeply \@warns, [ ], sprintf $desc, $id++ } + + BEGIN { @warns = () } + { + no indirect hook => $hook; + my @stuff = sort Zlott::Owww + ->new; + }; + BEGIN { is_deeply \@warns, [ ], sprintf $desc, $id++ } + + BEGIN { @warns = () } + { + no indirect hook => $hook; + my @stuff = sort Zlott::Owww + ->new; + } + BEGIN { is_deeply \@warns, [ ], sprintf $desc, $id++ } + + BEGIN { @warns = () } + { + no indirect hook => $hook; + my @stuff = sort Zlott::Owww + ->new; + } + BEGIN { is_deeply \@warns, [ ], sprintf $desc, $id++ } + + BEGIN { @warns = () } + { + no indirect hook => $hook; + my @stuff = sort Zlott::Owww + ->new; + } + BEGIN { is_deeply \@warns, [ ], sprintf $desc, $id++ } + + BEGIN { @warns = () } + { + no indirect hook => $hook; + my @stuff = sort Zlott::Owww + ->new; + } + BEGIN { is_deeply \@warns, [ ], sprintf $desc, $id++ } + + BEGIN { @warns = () } + { + no indirect hook => $hook; + my @stuff = sort Zlott::Owww + ->new; + } + BEGIN { is_deeply \@warns, [ ], sprintf $desc, $id++ } + + BEGIN { @warns = () } + { + no indirect hook => $hook; + my @stuff = sort Zlott::Owww + ->new; + } + BEGIN { is_deeply \@warns, [ ], sprintf $desc, $id++ } + + BEGIN { @warns = () } + { + no indirect hook => $hook; + my @stuff = sort Zlott::Owww + ->new; + } + BEGIN { is_deeply \@warns, [ ], sprintf $desc, $id++ } + + BEGIN { @warns = () } + { + no indirect hook => $hook; + my @stuff = sort Zlott::Owww + ->new; + } + BEGIN { is_deeply \@warns, [ ], sprintf $desc, $id++ } +} + __DATA__ $obj = Hlagh->new; @@ -310,3 +402,64 @@ zap { 1; }; zap { 1; 1; }; #### zap { zap { }; 1; }; +#### +my @stuff = sort Hlagh + ->new; +#### +my @stuff = sort Hlagh + ->new; +#### +my @stuff = sort Hlagh + ->new; +#### +my @stuff = sort Hlagh + ->new; +#### +my @stuff = sort Hlagh + ->new; +#### +my @stuff = sort Hlagh + ->new; +#### +my @stuff = sort Hlagh + ->new; +#### +my @stuff = sort Hlagh + ->new; +#### +sub { + my $self = shift; + return $self->new ? $self : undef; +} +#### +sub { + my $self = shift; + return $self ? $self->new : undef; +} +#### +sub { + my $self = shift; + return $_[0] ? undef : $self->new; +} +#### +package Hurp; +__PACKAGE__->new; +#### +package Hurp; +__PACKAGE__->new # Hurp +#### +package Hurp; +__PACKAGE__->new; +# Hurp +#### +package __PACKAGE_; +__PACKAGE__->new # __PACKAGE_ +#### +package __PACKAGE_; +__PACKAGE_->new # __PACKAGE__ +#### +package __PACKAGE___; +__PACKAGE__->new # __PACKAGE___ +#### +package __PACKAGE___; +__PACKAGE___->new # __PACKAGE__