Commit | Line | Data |
91cce263 |
1 | #!./perl |
2 | |
3 | # test added 29th April 1998 by Paul Johnson (pjcj@transeda.com) |
4 | |
5 | BEGIN { |
6 | chdir 't' if -d 't'; |
7 | unshift @INC, '../lib' if -d '../lib'; |
8 | } |
9 | |
10 | use strict; |
11 | use IO::File; |
12 | use Test; |
13 | |
eb57363f |
14 | BEGIN { |
15 | plan tests => 9 #, todo => [10] |
16 | } |
91cce263 |
17 | |
18 | sub lineno |
19 | { |
20 | my ($f) = @_; |
21 | my $l; |
22 | $l .= "$. "; |
23 | $l .= $f->input_line_number; |
24 | $l .= " $."; |
25 | $l; |
26 | } |
27 | |
28 | sub OK |
29 | { |
30 | my $s = select STDOUT; # work around a bug in Test.pm 1.04 |
31 | &ok; |
32 | select $s; |
33 | } |
34 | |
35 | my $t; |
36 | |
37 | open (Q, __FILE__) or die $!; |
38 | my $w = IO::File->new(__FILE__) or die $!; |
39 | |
40 | <Q> for (1 .. 10); |
41 | OK(lineno($w), "10 0 10"); |
42 | |
43 | $w->getline for (1 .. 5); |
44 | OK(lineno($w), "5 5 5"); |
45 | |
46 | <Q>; |
47 | OK(lineno($w), "11 5 11"); |
48 | |
49 | $w->getline; |
50 | OK(lineno($w), "6 6 6"); |
51 | |
52 | $t = tell Q; # tell Q; provokes a warning - the world is full of bugs... |
53 | OK(lineno($w), "11 6 11"); |
54 | |
55 | <Q>; |
56 | OK(lineno($w), "12 6 12"); |
57 | |
58 | select Q; |
59 | OK(lineno($w), "12 6 12"); |
60 | |
61 | <Q> for (1 .. 10); |
62 | OK(lineno($w), "22 6 22"); |
63 | |
64 | $w->getline for (1 .. 5); |
65 | OK(lineno($w), "11 11 11"); |
eb57363f |
66 | __END__ |
91cce263 |
67 | # This test doesn't work. It probably won't until local $. does. |
68 | $t = tell Q; |
69 | OK(lineno($w), "22 11 22", 'waiting for local $.'); |