summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/t/op/stash_parse_gv.t
blob: bd9e95cf37b670c5b07e5fb8ac25cd5bf0f1af5b (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
#!./perl

BEGIN {
    chdir 't' if -d 't';
    require "./test.pl";
    set_up_inc(qw(../lib));
}

plan( tests => 5 );

my $long  = 'x' x 100;
my $short = 'abcd';

my @tests = (
    [ $long, 'long package name: one word' ],
    [ join( '::', $long, $long ), 'long package name: multiple words' ],
    [ join( q['], $long, $long ), q[long package name: multiple words using "'" separator] ],
    [ join( '::', $long, $short, $long ), 'long & short package name: multiple words' ],
    [ join( q['], $long, $short, $long ), q[long & short package name: multiple words using "'" separator] ],
);

foreach my $t (@tests) {
    my ( $sub, $name ) = @$t;

    fresh_perl_is(
        qq[sub $sub { print qq[ok\n]} &{"$sub"}; my \$d = defined *{"foo$sub"} ],
        q[ok],
        { switches => ['-w'] },
        $name
    );
}