Login
RT #34713. Tweaked Subroutines::ProtectPrivateVars
[gknop/Perl-Critic.git] / t / Subroutines / ProtectPrivateSubs.run
1 ## name basic failure
2 ## failures 5
3 ## cut
4 Other::Package::_foo();
5 Other::Package->_bar();
6 Other::Package::_foo;
7 Other::Package->_bar;
8 $self->Other::Package::_baz();
9
10 #-----------------------------------------------------------------------------
11
12 ## name basic passes
13 ## failures 0
14 ## cut
15 package My::Self::_private;
16 use My::Self::_private;
17 require My::Self::_private;
18
19 #-----------------------------------------------------------------------------
20
21 ## name "shift" followed by private method call
22 ## failures 0
23 ## cut
24
25 # See http://rt.cpan.org/Ticket/Display.html?id=34713
26 # Also, see the test case below for a counter example.
27
28 shift->_private_sub();
29 shift->_private_sub;
30
31 #-----------------------------------------------------------------------------
32
33 ## name other builtin-function followed by private method call
34 ## failures 2
35 ## cut
36
37 # See http://rt.cpan.org/Ticket/Display.html?id=34713
38
39 pop->_private_sub();
40 pop->_private_sub;
41
42 #-----------------------------------------------------------------------------
43
44 ## name Difficult-to-detect pass
45 # This one should be illegal, but it is too hard to distinguish from
46 # the next one, which is legal
47 ## failures 0
48 ## cut
49 $pkg->_foo();
50
51 $self->_bar();
52 $self->SUPER::_foo();