This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Test croaks inadvertently rmvd by bd2688c4c
[perl5.git] / t / lib / croak / op
1 __END__
2 # NAME my $<special>
3 my $!;
4 EXPECT
5 Can't use global $! in "my" at - line 1, near "my $!"
6 Execution of - aborted due to compilation errors.
7 ########
8 # NAME OP_HELEM fields
9 package Foo;
10 use fields qw(a b);
11 sub new {
12     my $class = shift;
13     return fields::new($class);
14 }
15 my Foo $f = Foo->new;
16 $f->{c} = 1;
17 EXPECT
18 No such class field "c" in variable $f of type Foo at - line 8.
19 ########
20 # NAME "No such field" with block: ${$ref}{key}
21 %FIELDS; # empty hash so all keys are invalid
22 my main $r;
23 ${$r}{key};
24 EXPECT
25 No such class field "key" in variable $r of type main at - line 3.
26 ########
27 # NAME OP_HSLICE fields
28 package Foo;
29 use fields qw(a b);
30 sub new {
31     my $class = shift;
32     return fields::new($class);
33 }
34 my Foo $f = Foo->new;
35 @$f{"a", "c"} = ( 1, 2 );
36 EXPECT
37 No such class field "c" in variable $f of type Foo at - line 8.
38 ########
39 # NAME Single OP_HSLICE field
40 %FIELDS; # vivify it, but leave it empty, so all fields are invalid
41 my main $f;
42 @$f{"a"};
43 EXPECT
44 No such class field "a" in variable $f of type main at - line 3.
45 ########
46 # NAME OP_KVHSLICE fields
47 BEGIN { %FIELDS = qw(a 1 b 1); }
48 my main $f;
49 %$f{"a","c"};
50 EXPECT
51 No such class field "c" in variable $f of type main at - line 3.
52 ########
53 # NAME Can't declare conditional
54 my($a?$b:$c)
55 EXPECT
56 Can't declare conditional expression in "my" at - line 1, at EOF
57 Execution of - aborted due to compilation errors.
58 ########
59 # NAME Can't declare do block
60 my(do{})
61 EXPECT
62 Can't declare do block in "my" at - line 1, at EOF
63 Execution of - aborted due to compilation errors.
64 ########
65 # NAME ($_, state $x) = ...
66 ($_, CORE::state $x) = ();
67 EXPECT
68 Initialization of state variables in list context currently forbidden at - line 1, near ");"
69 Execution of - aborted due to compilation errors.
70 ########
71 # NAME my $y; ($y, state $x) = ...
72 my $y; ($y, CORE::state $x) = ();
73 EXPECT
74 Initialization of state variables in list context currently forbidden at - line 1, near ");"
75 Execution of - aborted due to compilation errors.
76 ########
77 # NAME delete BAD
78 delete $x;
79 EXPECT
80 delete argument is not a HASH or ARRAY element or slice at - line 1.
81 ########
82 # NAME delete sort
83 use warnings;
84 delete sort; # used to warn about scalar context, too
85 EXPECT
86 delete argument is not a HASH or ARRAY element or slice at - line 2.
87 ########
88 # NAME exists BAD
89 exists $x;
90 EXPECT
91 exists argument is not a HASH or ARRAY element or a subroutine at - line 1.
92 ########
93 # NAME exists non-sub
94 exists &foo()
95 EXPECT
96 exists argument is not a subroutine name at - line 1.
97 ########
98 # NAME push BAREWORD
99 no warnings 'experimental';
100 push FRED;
101 EXPECT
102 Type of arg 1 to push must be array (not constant item) at - line 2, near "FRED;"
103 Execution of - aborted due to compilation errors.
104 ########
105 # NAME pop BAREWORD
106 no warnings 'experimental';
107 pop FRED;
108 EXPECT
109 Type of arg 1 to pop must be array (not constant item) at - line 2, near "FRED;"
110 Execution of - aborted due to compilation errors.
111 ########
112 # NAME shift BAREWORD
113 no warnings 'experimental';
114 shift FRED;
115 EXPECT
116 Type of arg 1 to shift must be array (not constant item) at - line 2, near "FRED;"
117 Execution of - aborted due to compilation errors.
118 ########
119 # NAME unshift BAREWORD
120 no warnings 'experimental';
121 unshift FRED;
122 EXPECT
123 Type of arg 1 to unshift must be array (not constant item) at - line 2, near "FRED;"
124 Execution of - aborted due to compilation errors.
125 ########
126 # NAME keys BAREWORD
127 @a = keys FRED ;
128 EXPECT
129 Type of arg 1 to keys must be hash (not constant item) at - line 1, near "FRED ;"
130 Execution of - aborted due to compilation errors.
131 ########
132 # NAME values BAREWORD
133 @a = values FRED ;
134 EXPECT
135 Type of arg 1 to values must be hash (not constant item) at - line 1, near "FRED ;"
136 Execution of - aborted due to compilation errors.
137 ########
138 # NAME each BAREWORD
139 @a = each FRED ;
140 EXPECT
141 Type of arg 1 to each must be hash (not constant item) at - line 1, near "FRED ;"
142 Execution of - aborted due to compilation errors.