Upgrade to Tie::File 0.20.
[perl.git] / lib / Tie / File / t / 08_ro.t
1 #!/usr/bin/perl
2 #
3 # Make sure it works to open the file in read-only mode
4 #
5
6 my $file = "tf$$.txt";
7 $: = Tie::File::_default_recsep();
8
9 print "1..9\n";
10
11 my $N = 1;
12 use Tie::File;
13 use Fcntl 'O_RDONLY';
14 print "ok $N\n"; $N++;
15
16 my @items = qw(Gold Frankincense Myrrh Ivory Apes Peacocks);
17 init_file(join $:, @items, '');
18
19 my $o = tie @a, 'Tie::File', $file, mode => O_RDONLY, autochomp => 0;
20 print $o ? "ok $N\n" : "not ok $N\n";
21 $N++;
22
23 $#a == $#items ? print "ok $N\n" : print "not ok $N\n";
24 $N++;
25
26 for my $i (0..$#items) {
27   ("$items[$i]$:" eq $a[$i]) ? print "ok $N\n" : print "not ok $N\n";
28   $N++;
29 }
30
31 sub init_file {
32   my $data = shift;
33   open F, "> $file" or die $!;
34   binmode F;
35   print F $data;
36   close F;
37 }
38
39
40 END {
41   undef $o;
42   untie @a;
43   1 while unlink $file;
44 }
45