#!./perl
BEGIN {
- if ($ENV{PERL_CORE}){
- chdir('t') if -d 't';
- @INC = ('.', '../lib');
- } else {
- unshift @INC, 't';
- push @INC, "../../t";
- }
+ unshift @INC, 't';
require Config;
if (($Config::Config{'extensions'} !~ /\bB\b/) ){
print "1..0 # Skip -- Perl configured without B module\n";
exit 0;
}
require 'test.pl'; # we use runperl from 'test.pl', so can't use Test::More
- sub diag { print "# @_\n" } # but this is still handy
}
-plan tests => 156;
+plan tests => 157;
require_ok("B::Concise");
sub defd_empty {};
($res,$err) = render('-basic', \&defd_empty);
- is(scalar split(/\n/, $res), 3,
+ my @lines = split(/\n/, $res);
+ is(scalar @lines, 3,
"'sub defd_empty {}' seen as 3 liner");
is(1, $res =~ /leavesub/ && $res =~ /(next|db)state/,
like($out, qr/\# 4\d\d: \s+ \$l->concise\(\$level\);/,
"src-line rendering works");
+$out = runperl ( switches => ["-MO=Concise,-stash=ExtUtils::Mksymlists,-src,-exec"],
+ prog => '-e 1', stderr => 1 );
+
+like($out, qr/FUNC: \*ExtUtils::Mksymlists::_write_vms/,
+ "stash rendering loads package as needed");
+
$out = runperl ( switches => ["-MO=Concise,-stash=Data::Dumper,-src,-exec"],
prog => '-e 1', stderr => 1 );
like($out, qr/FUNC: \*Data::Dumper::format_refaddr/,
"stash rendering loads package as needed");
-my $prog = q{
- package FOO;
- sub bar { print "bar" }
- package main;
- FOO::bar();
-};
+my $prog = q{package FOO; sub bar { print "bar" } package main; FOO::bar(); };
+
# this would fail if %INC used for -stash test
$out = runperl ( switches => ["-MO=Concise,-src,-stash=FOO,-main"],
prog => $prog, stderr => 1 );