use strict;
use warnings;
-use Test::More tests => 101 * 8;
+use Test::More tests => 112 * 8 + 10;
BEGIN { delete $ENV{PERL_INDIRECT_PM_DISABLE} }
}
}
+# 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;
meh $y;
####
meh $y, 1, 2;
-#### $] < 5.010 # use feature 'state'; state $z
+#### "$]" < 5.010 # use feature 'state'; state $z
meh $z;
-#### $] < 5.010 # use feature 'state'; state $z
+#### "$]" < 5.010 # use feature 'state'; state $z
meh $z, 1, 2;
####
print;
print $y;
####
print $y "dongs\n";
-#### $] < 5.010 # use feature 'state'; state $z
+#### "$]" < 5.010 # use feature 'state'; state $z
print $z;
-#### $] < 5.010 # use feature 'state'; state $z
+#### "$]" < 5.010 # use feature 'state'; state $z
print $z "hlagh\n";
####
print STDOUT "bananananananana\n";
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;
+}