use strict;
use warnings;
-use blib 't/Sub-Op-Test';
+use blib 't/Sub-Op-LexicalSub';
-use Test::More tests => 2 * 15 + 3 * 2 + 2 * 28;
+use Test::More tests => (1 + 3) * 15 + (1 + 2 * 3) * 2 + 2 * 28;
our $called;
{
local $/ = "####\n";
while (<DATA>) {
+ chomp;
+ s/\s*$//;
+
my ($code, $params) = split /----\s*/, $_;
my ($names, $ret, $exp, $seq) = split /\s*#\s*/, $params;
my $test = "{\n";
for my $name (@names) {
$test .= <<" INIT"
- use Sub::Op::Test $name => sub {
+ use Sub::Op::LexicalSub $name => sub {
++\$called;
my \$exp = shift \@exp;
is_deeply \\\@_, \$exp, '$name: arguments are correct';
$test .= <<" CHECK_VIVID"
BEGIN {
no warnings 'uninitialized'; # Test::Builder can't get the file name
- is *main::${name}\{CODE\}, undef, '$name: no symbol table vivification';
+ ok !exists &main::${name}, '$name: not stubbed';
+ ok !defined &main::${name}, '$name: body not defined';
+ is *main::${name}\{CODE\}, undef, '$name: empty symbol table entry';
}
CHECK_VIVID
}
is $called, $calls, "@names: the hook was called the right number of times";
if ($called < $calls) {
- fail for $called + 1 .. $calls;
+ fail, fail for $called + 1 .. $calls;
}
}
}