1use strict;
2use FileHandle::Unget;
3use File::Spec::Functions qw(:ALL);
4use Test::More tests => 4;
5use File::Temp;
6
7my $tmp = File::Temp->new();
8
9{
10  print $tmp "first line\n";
11  print $tmp "second line\n";
12  close $tmp;
13}
14
15# Test ungets'ing and reading a line of data
16{
17  my $fh1 = new FileHandle::Unget($tmp->filename);
18  my $fh2 = new FileHandle::Unget($tmp->filename);
19
20  my $line = <$fh1>;
21  $line = <$fh2>;
22
23  $fh1->ungets("inserted 1\n");
24  $fh2->ungets("inserted 2\n");
25
26  $line = <$fh1>;
27  # 1
28  is($line, "inserted 1\n", 'Unget 1');
29
30  $line = <$fh2>;
31  # 2
32  is($line, "inserted 2\n", 'Unget 2');
33
34  $line = <$fh1>;
35  # 3
36  is($line, "second line\n", 'Get 1');
37
38  $line = <$fh2>;
39  # 4
40  is($line, "second line\n", 'Get 2');
41
42  $fh1->close;
43  $fh2->close;
44}
45
46