use lib 't', 'lib'; use strict; use warnings; 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));