blob: 1e728e2abc7cee7b8c052695e842156c296d2f71 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#!./perl
package Foo;
BEGIN {
chdir 't' if -d 't';
require './test.pl';
set_up_inc('../lib');
}
plan 9;
use constant MyClass => 'Foo::Bar::Biz::Baz';
{
package Foo::Bar::Biz::Baz;
1;
}
for (qw(Foo Foo:: MyClass __PACKAGE__)) {
eval "sub { my $_ \$obj = shift; }";
ok ! $@;
# print $@ if $@;
}
use constant NoClass => 'Nope::Foo::Bar::Biz::Baz';
for (qw(Nope Nope:: NoClass)) {
eval "sub { my $_ \$obj = shift; }";
ok $@;
# print $@ if $@;
}
is runperl(prog => 'my main $r; sub FIELDS; $$r{foo}; print qq-ok\n-'),
"ok\n",
'no crash with hash element when FIELDS sub stub exists';
is runperl(prog => 'my main $r; sub FIELDS; @$r{f,b}; print qq-ok\n-'),
"ok\n",
'no crash with hash slice when FIELDS sub stub exists';
|