On Wed, Dec 03, 2003 at 10:20:03AM +0000, Fergal Daly wrote:
> On Tue, Dec 02, 2003 at 10:05:46PM -0800, Michael G Schwern wrote:
> > Why not?
> >
> > catch MyError with {
> > like( $ex, qr/Bad thing/ );
> > };
>
> If there is no exception then then that test won't execute. It'd have to be
> something like
>
> try {
> f();
> fail("no exception");
> }
> catch MyError with {
> like( $ex, qr/Bad thing/ );
> };
>
> but that runs the risk of forgetting the fail(),
Ahh. Then I'd suggest something like this.
catch_like { f(); } 'MyError', qr/Bad thing/;
Where catch_like is something like:
my $TB = Test::Builder->new;
sub catch_like {
my($sub, $exception, $regex) = @_;
try {
$sub->();
};
$exception->catch(with { $TB->like( shift, $regex ) });
}
--
Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern/
1. You are thin.
2. You look great.
3. You live in a castle with robot servants.
-- http://www.angryflower.com/anaddi.gif