On Mon, Dec 17, 2001 at 08:12:43AM +0000, Piers Cawley wrote:
> >> What's wrong with 
> >> 
> >>     ok ( eval { $foo->isa('Foo') } );
> >>
> >> or even:
> >> 
> >>     ok (eval { ref($foo) && $foo->isa('Foo') });
> >
> > As Kurt already pointed out, you can do:
> >
> >     ok( UNIVERSAL::isa($foo, 'Foo') );
> >
> > but if it fails you have no idea what $foo was.
> 
> No you can't. Not if you've overridden isa anywhere. (Which is
> perfectly possible.)

Ooooh, hadn't thought about that.  I've done it myself a few times (to
make a delegation look like inheritance).  Now I have to go fix
Test::More to deal with it.  Ya know, I was literally just about to
release 0.40 and I HAD to go read my email first.

Either way, your above ok() solutions still give you no failure
diagnostics, which is the whole point.


-- 

Michael G. Schwern   <[EMAIL PROTECTED]>    http://www.pobox.com/~schwern/
Perl Quality Assurance      <[EMAIL PROTECTED]>         Kwalitee Is Job One
pleasing symmetry
the paste goes in at one end
comes out the other.
        -- mjd

Reply via email to