# from Ovid
# on Thursday 22 January 2009 13:01:
>Show us the code.
>
>No, don't show us an "ideal" API; show us the real, actual code. Even
> a simple proof of concept would be fine. Seriously. Show us the
> code.
I'm not sure whether this would qualify as either an ideal API or real
actual serious code. I happen to be working on some other real actual
seriously code today, but anyhow:
sub test (&) {
my $subref = shift;
local $Something::something;
$subref->();
finished();
}
test {
...
ok(1);
ok(1);
...
};
test {
...
ok(1);
};
Or thereabouts. The business of skipping, todoing, counting, planning,
and ensuring that all tests actually run is going to involve various
details and possibly even get into the limitations of TAP -- but you
now have every chunk of tests setup for later/encapsulated evaluation.
One way to punt toward that would be to treat each block as a single
test ala is_deeply(). A similar approach would handle loops.
This perhaps loses some granularity within each block. It also assumes
perl 5 limitations. Possibly neither issue sticks in perl 6.
One could even simply stack the blocks and finish the test file with
run_tests_now(), which would essentially start the whole planning
process.
Other details of the implementation will be up to the implementor. If
that's me, I suppose I should have learned by now not to bother making
a suggestion.
--Eric
--
"Everything should be made as simple as possible, but no simpler."
--Albert Einstein
---------------------------------------------------
http://scratchcomputing.com
---------------------------------------------------