This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Convert subs.t to use t/lib/common.pl
[perl5.git] / t / lib / subs / subs
1 __END__
2
3 # Error - not predeclaring a sub
4 Fred 1,2 ;
5 sub Fred {}
6 EXPECT
7 Number found where operator expected at - line 3, near "Fred 1"
8         (Do you need to predeclare Fred?)
9 syntax error at - line 3, near "Fred 1"
10 Execution of - aborted due to compilation errors.
11 ########
12
13 # Error - not predeclaring a sub in time
14 Fred 1,2 ;
15 use subs qw( Fred ) ;
16 sub Fred {}
17 EXPECT
18 Number found where operator expected at - line 3, near "Fred 1"
19         (Do you need to predeclare Fred?)
20 syntax error at - line 3, near "Fred 1"
21 BEGIN not safe after errors--compilation aborted at - line 4.
22 ########
23
24 # AOK
25 use subs qw( Fred) ;
26 Fred 1,2 ;
27 sub Fred { print $_[0] + $_[1], "\n" }
28 EXPECT
29 3
30 ########
31
32 # override a built-in function
33 use subs qw( open ) ;
34 open 1,2 ;
35 sub open { print $_[0] + $_[1], "\n" }
36 EXPECT
37 3
38 ########
39
40 # override a built-in function, call after definition
41 use subs qw( open ) ;
42 sub open { print $_[0] + $_[1], "\n" }
43 open 1,2 ;
44 EXPECT
45 3
46 ########
47
48 # override a built-in function, call with ()
49 use subs qw( open ) ;
50 open (1,2) ;
51 sub open { print $_[0] + $_[1], "\n" }
52 EXPECT
53 3
54 ########
55
56 # override a built-in function, call with () after definition
57 use subs qw( open ) ;
58 sub open { print $_[0] + $_[1], "\n" }
59 open (1,2) ;
60 EXPECT
61 3
62 ########
63
64 --FILE-- abc
65 Fred 1,2 ;
66 1;
67 --FILE--
68 use subs qw( Fred ) ;
69 require "./abc" ;
70 sub Fred { print $_[0] + $_[1], "\n" }
71 EXPECT
72 3
73 ########
74
75 # check that it isn't affected by block scope
76 {
77     use subs qw( Fred ) ;
78 }
79 Fred 1, 2;
80 sub Fred { print $_[0] + $_[1], "\n" }
81 EXPECT
82 3