#!/usr/bin/perl
# Check Test::Inline::Script support for older test styles
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
use Class::Autouse ':devel';
use File::Spec::Functions ':ALL';
use Test::More tests => 7;
use Test::Inline ();
#####################################################################
# Test the examples from Inline.pm
{
my $inline_file = File::Slurp::read_file(
catfile( 't', 'data', '10_legacy_extract', 'Inline.pm' ),
scalar_ref => 1,
) or die "Failed to load Inline.pm test file";
is( ref($inline_file), 'SCALAR', 'Loaded Inline.pm examples' );
# Create the Inline object
my $Inline = Test::Inline->new();
isa_ok( $Inline, 'Test::Inline' );
# Add the sample source code
ok( $Inline->_add_source( $inline_file ), 'Inline.pm examples added' );
# Check the results
my $Script = $Inline->class('My::Pirate');
isa_ok( $Script, 'Test::Inline::Script' );
is( $Script->class, 'My::Pirate', '->class returns as expected' );
is( $Script->filename, 'my_pirate.t', '->filename gets set as expected' );
is( $Inline->_content('My::Pirate'), <<'END_SCRIPT', '->_content gets set as expected' );
#!/usr/bin/perl -w
use strict;
use Test::More 'no_plan';
$| = 1;
# =begin testing
{
my @p = is_pirate('Blargbeard', 'Alfonse', 'Capt. Hampton', 'Wesley');
is(@p, 2, "Found two pirates. ARRR!");
}
# =for example begin
$::__tc = Test::Builder->new->current_test;
{
eval q{
my $example = sub {
local $^W = 0;
use LWP::Simple;
getprint "http://www.goats.com";
};
};
is($@, '', 'Example 1 compiles cleanly');
}
is( Test::Builder->new->current_test - $::__tc, 1,
'1 test was run in the section' );
1;
END_SCRIPT
}
syntax highlighted by Code2HTML, v. 0.9.1