On Tuesday 19 September 2006 17:59, Ovid wrote:
> ----- Original Message ----
> From: Shlomi Fish <[EMAIL PROTECTED]>
>
> >    my $parser =
> >        TAPx::Parser->new(
> >            {
> >                stream => TAPx::Parser::Iterator->new($test_output_orig),
> >            }
> >        );
>
> I'd recommend trying this:
>
>   my $parser = TAPx::Parser->new( { source => $source } );
>

I converted the code to use this convention in the svn trunk. Seems to work 
nicely. Thanks for the advice.

> I did that to simplify building parsers and it's new as of 0.30.  $source
> can be one of:
>
> 1.  An array reference of TAP lines.
> 2.  A complete string of TAP output.
> 3.  A filehandle.
> 4.  The path to an existing file.
>
> The original interface is still available with a desire to not break
> people's code (plus, I use it internally).
>
> So far it seems to work well, with the only caveat being that filenames are
> not permitted to have newlines in them (I forgot to document that).  Thus,
> if the iterator changes in the future, it hopefully won't break your code!
>

Hmmmm.... you may wish to differentiate between #2 and #3 by saying that a 
filename is passed as a plain string, while a string is passed by taking a 
reference to it. That's what Template Toolkit and other modules are doing.

> > BTW, the documentation for the interface that the "stream => " argument
> > expects on the TAPx::Parser pod may be misleading:
>
> Thanks.  I need to clean that up, too!
>

No problem.

Regards,

        Shlomi Fish

---------------------------------------------------------------------
Shlomi Fish      [EMAIL PROTECTED]
Homepage:        http://www.shlomifish.org/

Chuck Norris wrote a complete Perl 6 implementation in a day but then
destroyed all evidence with his bare hands, so no one will know his secrets.

Reply via email to