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 - Compare XML in perl tests

Author

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

Description

       This module contains generic XML testing tools.  See below for a list of other modules with functions
       relating to specific XML modules.

Functions

       is_xml ( GOT, EXPECTED [, TESTNAME ] )
           This  function  compares  GOT  and  EXPECTED, both of which are strings of XML.  The comparison works
           semantically and will ignore differences in syntax which are meaningless in xml,  such  as  different
           quote characters for attributes, order of attributes or empty tag styles.

           Returns true or false, depending upon test success.

       isnt_xml( GOT, MUST_NOT_BE [, TESTNAME ] )
           This function is similar to is_xml(), except that it will fail if GOT and MUST_NOT_BE are identical.

       is_well_formed_xml( XML [, TESTNAME ] )
           This function determines whether or not a given XML string is parseable as XML.

       is_good_xml ( XML [, TESTNAME ] )
           This is an alias for is_well_formed_xml().

Name

       Test::XML - Compare XML in perl tests

Notes

       There  are  several  features of XML::SemanticDiff that may suprise you if you are not aware of them.  In
       particular:

       •   Leading and trailing whitespace is always stripped, even in elements with character content.

       •   Whitespace inside character content is always stripped down to a single space.

       •   In mixed content elements (ie: an element with both text  and  elements  beneath  it),  all  text  is
           treated as a single value.

       •   The order of elements is ignored.

See Also

       Test::XML::SAX, Test::XML::Twig.

       Test::More, XML::SemanticDiff.

Synopsis

         use Test::XML tests => 3;
         is_xml( '<foo />', '<foo></foo>' );   # PASS
         is_xml( '<foo />', '<bar />' );       # FAIL
         isnt_xml( '<foo />', '<bar />' );     # PASS
         is_well_formed_xml('<foo/>');               # PASS
         is_well_formed_xml('<foo>');                # FAIL

See Also