6 use blib 't/Sub-Op-Test';
8 use Test::More tests => (4 + 2 * 4) + (2 * 5);
11 sub foo { ok $call_foo, 'the preexistent foo was called' }
18 my ($code, $params) = split /----\s*/, $_;
19 my ($names, $ret, $exp, $seq) = split /\s*#\s*/, $params;
21 my @names = split /\s*,\s*/, $names;
25 fail "@names: unable to get expected values: $@";
32 s/^\s*//, s/\s*$// for $seq;
33 @seq = split /\s*,\s*/, $seq;
34 die "calls and seq length mismatch" unless @seq == $calls;
36 @seq = ($names[0]) x $calls;
40 for my $name (@names) {
42 use Sub::Op::Test $name => sub {
44 my \$exp = shift \@exp;
45 is_deeply \\\@_, \$exp, '$name: arguments are correct';
46 my \$seq = shift \@seq;
47 is \$seq, '$name', '$name: sequence is correct';
52 $test .= "{\n$code\n}\n";
58 fail "@names: unable to evaluate test case: $@";
62 is $called, $calls, "@names: the hook was called the right number of times";
63 if ($called < $calls) {
64 fail for $called + 1 .. $calls;