This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
test case for change#5700 (from M. J. T. Guy)
[perl5.git] / t / op / defins.t
CommitLineData
55d729e4
GS
1#!./perl -w
2
3#
4# test auto defined() test insertion
5#
6
7BEGIN {
8 chdir 't' if -d 't';
93430cb4 9 unshift @INC, '../lib';
55d729e4
GS
10 $SIG{__WARN__} = sub { $warns++; warn $_[0] };
11 print "1..14\n";
12}
b2b3adea
HM
13
14$wanted_filename = $^O eq 'VMS' ? '0.' : '0';
55d729e4
GS
15
16print "not " if $warns;
17print "ok 1\n";
18
19open(FILE,">./0");
20print FILE "1\n";
21print FILE "0";
22close(FILE);
23
24open(FILE,"<./0");
25my $seen = 0;
26my $dummy;
27while (my $name = <FILE>)
28 {
29 $seen++ if $name eq '0';
30 }
31print "not " unless $seen;
32print "ok 2\n";
33
34seek(FILE,0,0);
35$seen = 0;
36my $line = '';
37do
38 {
39 $seen++ if $line eq '0';
40 } while ($line = <FILE>);
41
42print "not " unless $seen;
43print "ok 3\n";
44
45
46seek(FILE,0,0);
47$seen = 0;
48while (($seen ? $dummy : $name) = <FILE>)
49 {
50 $seen++ if $name eq '0';
51 }
52print "not " unless $seen;
53print "ok 4\n";
54
55seek(FILE,0,0);
56$seen = 0;
57my %where;
58while ($where{$seen} = <FILE>)
59 {
60 $seen++ if $where{$seen} eq '0';
61 }
62print "not " unless $seen;
63print "ok 5\n";
7120fed6 64close FILE;
55d729e4
GS
65
66opendir(DIR,'.');
67$seen = 0;
68while (my $name = readdir(DIR))
69 {
b2b3adea 70 $seen++ if $name eq $wanted_filename;
55d729e4
GS
71 }
72print "not " unless $seen;
73print "ok 6\n";
74
75rewinddir(DIR);
76$seen = 0;
77$dummy = '';
78while (($seen ? $dummy : $name) = readdir(DIR))
79 {
b2b3adea 80 $seen++ if $name eq $wanted_filename;
55d729e4
GS
81 }
82print "not " unless $seen;
83print "ok 7\n";
84
85rewinddir(DIR);
86$seen = 0;
87while ($where{$seen} = readdir(DIR))
88 {
b2b3adea 89 $seen++ if $where{$seen} eq $wanted_filename;
55d729e4
GS
90 }
91print "not " unless $seen;
92print "ok 8\n";
93
94$seen = 0;
95while (my $name = glob('*'))
96 {
b2b3adea 97 $seen++ if $name eq $wanted_filename;
55d729e4
GS
98 }
99print "not " unless $seen;
100print "ok 9\n";
101
102$seen = 0;
103$dummy = '';
104while (($seen ? $dummy : $name) = glob('*'))
105 {
b2b3adea 106 $seen++ if $name eq $wanted_filename;
55d729e4
GS
107 }
108print "not " unless $seen;
109print "ok 10\n";
110
111$seen = 0;
112while ($where{$seen} = glob('*'))
113 {
b2b3adea 114 $seen++ if $where{$seen} eq $wanted_filename;
55d729e4
GS
115 }
116print "not " unless $seen;
117print "ok 11\n";
118
119unlink("./0");
120
121my %hash = (0 => 1, 1 => 2);
122
123$seen = 0;
124while (my $name = each %hash)
125 {
126 $seen++ if $name eq '0';
127 }
128print "not " unless $seen;
129print "ok 12\n";
130
131$seen = 0;
132$dummy = '';
133while (($seen ? $dummy : $name) = each %hash)
134 {
135 $seen++ if $name eq '0';
136 }
137print "not " unless $seen;
138print "ok 13\n";
139
140$seen = 0;
141while ($where{$seen} = each %hash)
142 {
143 $seen++ if $where{$seen} eq '0';
144 }
145print "not " unless $seen;
146print "ok 14\n";
147