use strict; use warnings;
my $t; use lib ($t = -e 't' ? 't' : 'test');
use Test::More tests => 12;
use IO::All;
use IO_All_Test;
io("$t/input.t") > my $contents;
test_file_contents($contents, "$t/input.t");
$contents < io "$t/input.t";
test_file_contents($contents, "$t/input.t");
my $io = io "$t/input.t";
$contents = $$io;
test_file_contents($contents, "$t/input.t");
$contents = $io->slurp;
test_file_contents($contents, "$t/input.t");
$contents = $io->scalar;
test_file_contents($contents, "$t/input.t");
$contents = join '', $io->getlines;
test_file_contents($contents, "$t/input.t");
SKIP: {
eval {require Tie::File};
skip "requires Tie::File", 2 if $@;
$io->rdonly;
$contents = join '', map "$_\n", @$io;
test_file_contents($contents, "$t/input.t");
$io->close;
$io->tie;
$contents = join '', <$io>;
test_file_contents($contents, "$t/input.t");
}
my @lines = io("$t/input.t")->slurp;
ok(@lines > 36);
test_file_contents(join('', @lines), "$t/input.t");
my $old_contents = $contents;
$contents << io("$t/input.t");
is($contents, $old_contents . $old_contents);
is(io("$t/input.t") >> $contents, ($old_contents x 3));
del_output_dir();