use strict; use Test::More; my @export_std = qw( id private public register ); my @export_rest = qw( options property ); my @additional = qw( DESTROY STORABLE_freeze STORABLE_thaw ); my @all_methods = ( @export_std, @export_rest, @additional ); plan tests => 3 + @all_methods # export_ok tests + 3 + @export_std + @additional # :std tests + 3 + @all_methods # :all tests ; $|++; # keep stdout and stderr in order on Win32 #--------------------------------------------------------------------------# package export_ok_test; use Test::More; pass( "setting package to 'export_ok_test'" ); require_ok( 'Class::InsideOut' ); Class::InsideOut->import( @export_std, @export_rest ); pass( "Importing all \@EXPORT_OK functions" ); can_ok( 'export_ok_test', $_ ) for (@export_std, @export_rest, @additional); #--------------------------------------------------------------------------# package export_tags_std_test; use Test::More; pass( "setting package to 'export_tags_std_test'" ); require_ok( 'Class::InsideOut' ); Class::InsideOut->import( ":std" ); pass( "Importing ':std' tag" ); can_ok( 'export_tags_std_test', $_ ) for (@export_std, @additional); #--------------------------------------------------------------------------# package export_tags_all_test; use Test::More; pass( "setting package to 'export_tags_all_test'" ); require_ok( 'Class::InsideOut' ); Class::InsideOut->import( ":all" ); pass( "Importing ':all' tag" ); can_ok( 'export_tags_all_test', $_ ) for (@all_methods);