logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Test::XML::SAX - Test XML::SAX handlers

Author

       Dominic Mitchell, <cpan2 (at) semantico.com>

Description

       This module is for testing XML::SAX handlers.

Functions

       All functions are exported.

       test_sax ( HANDLER, INPUT, EXPECTED [, TESTNAME ] )
           This  function  will process INPUT using HANDLER, and compare the result with EXPECTED.  TESTNAME can
           optionally be used to name the test in the output (a good idea).

       test_all_sax_parsers ( SUB [, NUMTESTS ] )
           This function will repeat a set of tests for all installed SAX parsers.  SUB must be a coderef to run
           a series of tests.  NUMTESTS is the number of tests inside SUB.

           NB: You must not issue a plan to Test::More if you call this function!  The plan will be set for you,
           according to the number of parsers installed and NUMTESTS.  This also means that you  must  not  have
           any tests outside of SUB or you will get an error.

           When  SUB  is  called,  it  will  be passed two arguments.  The name of the parser being used and the
           number of tests.  It can use this information to decide whether or not to skip this set of tests.

Name

       Test::XML::SAX - Test XML::SAX handlers

See Also

       Test::More, Test::XML, XML::SAX.

Synopsis

         use Test::XML::SAX tests => 1;
         use My::XML::Filter;

         my $handler = My::XML::Filter->new;
         test_sax( $handler, '<foo />', '<bar/>', 'translates foo to bar' );

         # ... In Another File ...

         use Test::XML::SAX; use My::XML::Filter;

         sub do_tests {
             my $handler = My::XML::Filter->new;
             test_sax( $handler, '<foo />', '<bar/>', 'translates foo to bar' );
         }

         test_all_sax_parsers( \&do_tests, 1 );

See Also