> test => { TESTS => join ' ', map { glob } qw( t/*/*.t t/*/*/*.t ) },
but slashes aren't portable, right? I don't think you can get rid of
File::Spec.
> Also, I agree that the use-Test-Plan-after-Test-More caveat is icky.
well, it's a caveat, not a requirement :)
the way it works now is that either you load Test::More first and subvert it
with Test::Plan (as I show) or you load Test::Plan first, which successfully
takes over main::plan, then you load Test::More and boom, Test::More
complains about redefining symbols. which is quite normal, actually, when
using modules with like-named functions and Exporter - nothing new in
perl-land. the difference here is that Test::Plan provides some sugar so
you don't need to worry about doing that, provided you load it last.
> How about modifying Test::Plan::import() so that it (a) checks to see
> if Test::More *has* already been loaded or (b) checks if a plan()
> subroutine is already defined in the namespace that the method is
> exporting to.
hmm, maybe I'm misunderstanding but neither of those situations are helpful
- Test::Plan::plan() needs to be the one and only plan() for people to use
it as a drop-in replacement - I explicitly don't want to bail if either a)
or b) is true, I want the main::plan() namespace no matter what.
fwiw, I'm not trying to be defensive about this, and I appreciate the
feedback. I was only trying to provide an elegant solution so that test
writers didn't need to worry so much about competing function names.
--Geoff