The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use Test::More;
use File::Spec;
use Class::InsideOut ();

$|++; # keep stdout and stderr in order on Win32

eval { require IO::File };
if ( $@ ) {
    plan skip_all => "IO::File not installed";
}

eval { require File::Spec };
if ( $@ ) {
    plan skip_all => "File::Spec not installed";
}

plan tests => 5; 

#--------------------------------------------------------------------------#

my $class = "t::Object::Foreign";
my $filename = File::Spec->catfile( qw( t data testdata.txt ) ); 
my $o;

#--------------------------------------------------------------------------#

require_ok( $class );

ok( ($o = $class->new( $filename )) && $o->isa($class),
    "Creating a $class object"
);

ok( $o->isa( "IO::File" ),
    "Object isa IO::File"
);

my $line = <$o>;
chomp $line;
is( $line, "one",
    "Read a line from the $class object"
);

$o->name( "Larry" );
is( $o->name(), "Larry",
    "Setting a name for the object"
);