Allow appending on a PerlIO::Scalar
[p5sagit/p5-mst-13.2.git] / t / lib / io_scalar.t
CommitLineData
f6c77cf1 1#!./perl
2
3BEGIN {
4 chdir 't' if -d 't';
5 @INC = '../lib';
e0e62c2a 6 unless (exists $open::layers{'perlio'}) {
f6c77cf1 7 print "1..0 # Skip: not perlio\n";
8 exit 0;
9 }
10}
11
12$| = 1;
c350b88c 13print "1..11\n";
f6c77cf1 14
15my $fh;
16my $var = "ok 2\n";
17open($fh,"+<",\$var) or print "not ";
18print "ok 1\n";
19print <$fh>;
20print "not " unless eof($fh);
21print "ok 3\n";
22seek($fh,0,0) or print "not ";
23print "not " if eof($fh);
24print "ok 4\n";
25print "ok 5\n";
26print $fh "ok 7\n" or print "not ";
27print "ok 6\n";
28print $var;
29$var = "foo\nbar\n";
30seek($fh,0,0) or print "not ";
31print "not " if eof($fh);
32print "ok 8\n";
33print "not " unless <$fh> eq "foo\n";
34print "ok 9\n";
773aa825 35# Test multiple consecutive writes to $var
36$var = "";
37seek($fh, 0, 0);
38print $fh "Fred and Wilma ";
39print $fh "Flintstone";
40print "not " unless $var eq "Fred and Wilma Flintstone";
41print "ok 10\n";
c350b88c 42# Test appending
43close $fh;
44$var = "Fred and Wilma ";
45open $fh, ">>", \$var;
46print $fh "Flintstone";
47print "not " unless $var eq "Fred and Wilma Flintstone";
48print "ok 11\n";