Super! Well done! Makes me feel all warm inside.
Would kiss you if you were near here somewhere! :) - evgeny On Sun, Mar 29, 2009 at 12:52 PM, Michael G Schwern <schw...@pobox.com> wrote: > Just pushed out a new alpha of Test::More. There's a bunch of new features > having to do with the plan. In general it's less restrictive, you can now run > tests without first having declared a plan. > > This enables the long called for new feature of done_testing(). It's a safer > replacement for no_plan. Looks like this: > > use Test::More; # look ma, no plan! > > pass("Some sort of test"); > pass("Some other test") > > done_testing(); > > If your test does not reach done_testing(), no plan will be output and your > test will be a failure. This is safer than "no_plan" because if your test > exits in the middle it will fail. > > You can also give done_testing() a number of tests. In that case it works > just like "plan tests => #" except instead of having to put it at the > beginning of the test it goes at the end. This gives you the opportunity to > calculate the number of tests as things go. > > plan( add => # ) didn't make the cut. There were too many edge cases still to > be worked out and I don't want to delay done_testing() because it fixes 90% of > the problems with plans. Here at the hackathon, Ovid is working on a full-on > sub-plan TAP syntax which may eliminate the need for it entirely. Those > wanting a look at that can see http://github.com/ovid/test-more/master > > Finally, as a little aid to testing, Test::Builder->output() and friends now > take scalar references. This makes it much easier to trap test output without > having to try and write backwards compatible tied capturing filehandles (5.6 > will not do scalar ref filehandles). I had to suck in a copy of IO::Scalar to > do it (one more argument in favor of just dropping 5.6) but it made the tests > so much simpler. There's Test::Builder::NoOutput in t/lib which is a > convenience subclass to make testing even simpler. I'm considering rolling > the functionality into Test::Builder proper because I'm sure others will find > it very useful. > > > 0.87_01 Sun Mar 29 09:56:52 BST 2009 > New Features > * done_testing() allows you to declare that you have finished > running tests and how many you ran. It is a safer no_plan and > effectively replaces it. > * output() now supports scalar references. > > Feature Changes > * You can now run a test without first declaring a plan. This allows > done_testing() to work. > * You can now call current_test() without first declaring a plan. > > Bug Fixes > * skip_all() with no reason would output "1..0" which is invalid TAP. > It will now always include the SKIP directive. > > Other > * Repository moved to github. > > 0.86 Sun Nov 9 01:09:05 PST 2008 > Same as 0.85_01 > > > > -- > You are wicked and wrong to have broken inside and peeked at the > implementation and then relied upon it. > -- tchrist in <31832.969261...@chthon> > >