Provided by: libzonemaster-perl_7.1.0-1_all bug

NAME

       Zonemaster::Engine::Test::Syntax - Module implementing tests focused on validating the syntax of host
       names and other data

SYNOPSIS

           my @results = Zonemaster::Engine::Test::Syntax->all( $zone );

METHODS

       all()
               my @logentry_array = all( $zone );

           Runs  the  default  set of tests for that module, i.e. between three and eight tests depending on the
           tested zone.  If Syntax01 passes, the remaining tests are run.

           Takes a Zonemaster::Engine::Zone object.

           Returns a list of Zonemaster::Engine::Logger::Entry objects.

       metadata()
               my $hash_ref = metadata();

           Returns a reference to a hash, the keys of which are the names of all Test Cases in the  module,  and
           the  corresponding  values  are  references to an array containing all the message tags that the Test
           Case can use in log entries.

       tag_descriptions()
               my $hash_ref = tag_descriptions();

           Used by the built-in translation system.

           Returns a reference to a hash, the keys of which are the message tags and  the  corresponding  values
           are strings (message IDs).

       version()
               my $version_string = version();

           Returns a string containing the version of the current module.

INTERNAL METHODS

       _emit_log()
               my $log_entry = _emit_log( $message_tag_string, $hash_ref );

           Adds  a  message  to  the  logger  for  this module.  See "add($tag, $argref, $module, $testcase)" in
           Zonemaster::Engine::Logger::Entry for more details.

           Takes a string (message tag) and a reference to a hash (arguments).

           Returns a Zonemaster::Engine::Logger::Entry object.

       _ip_disabled_message()
               my $bool = _ip_disabled_message( $logentry_array_ref, $ns, @query_type_array );

           Checks if the IP version of a given name server is allowed to be queried. If not, it adds  a  logging
           message and returns true. Else, it returns false.

           Takes    a    reference    to    an    array    of   Zonemaster::Engine::Logger::Entry   objects,   a
           Zonemaster::Engine::Nameserver object and an array of strings (query type).

           Returns a boolean.

       _name_has_only_legal_characters()
               my $bool = _name_has_only_legal_characters( $name );

           Checks if a given name contains only allowed characters.

           Takes a Zonemaster::Engine::DNSName object.

           Returns a boolean.

       _label_starts_with_hyphen()
               my $bool = _label_starts_with_hyphen( $name );

           Checks if a given name starts with an hyphen ('-').

           Takes a Zonemaster::Engine::DNSName object.

           Returns a boolean.

       _label_ends_with_hyphen()
               my $bool = _label_ends_with_hyphen( $name );

           Checks if a given name ends with an hyphen ('-').

           Takes a Zonemaster::Engine::DNSName object.

           Returns a boolean.

       _label_not_ace_has_double_hyphen_in_position_3_and_4()
               my $bool = _label_not_ace_has_double_hyphen_in_position_3_and_4( $name );

           Checks if a given name does not contain a double hyphen ('--'), with the exception of 'xn--'.

           Takes a Zonemaster::Engine::DNSName object.

           Returns a boolean.

       _check_name_syntax()
               my @logentry_array = _check_name_syntax( $label_prefix_string, $name );

           Checks  the  syntax  of  a  given  name.  Makes  use   of   "_name_has_only_legal_characters()"   and
           "_label_not_ace_has_double_hyphen_in_position_3_and_4()".   Used as an helper function for Test Cases
           Syntax04, Syntax07 and Syntax08.

           Takes a string (label prefix) and either a string (name) or a Zonemaster::Engine::DNSName object.

           Returns a list of Zonemaster::Engine::Logger::Entry objects.

TESTS

       syntax01()
               my @logentry_array = syntax01( $zone );

           Runs                   the                   Syntax01                    Test                    Case
           <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Syntax-
           TP/syntax01.md>.

           Takes a Zonemaster::Engine::Zone object.

           Returns a list of Zonemaster::Engine::Logger::Entry objects.

       syntax02()
               my @logentry_array = syntax02( $zone );

           Runs                    the                    Syntax02                   Test                   Case
           <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Syntax-
           TP/syntax02.md>.

           Takes a Zonemaster::Engine::Zone object.

           Returns a list of Zonemaster::Engine::Logger::Entry objects.

       syntax03()
               my @logentry_array = syntax03( $zone );

           Runs                   the                   Syntax03                    Test                    Case
           <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Syntax-
           TP/syntax03.md>.

           Takes a Zonemaster::Engine::Zone object.

           Returns a list of Zonemaster::Engine::Logger::Entry objects.

       syntax04()
               my @logentry_array = syntax04( $zone );

           Runs                    the                    Syntax04                   Test                   Case
           <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Syntax-
           TP/syntax04.md>.

           Takes a Zonemaster::Engine::Zone object.

           Returns a list of Zonemaster::Engine::Logger::Entry objects.

       syntax05()
               my @logentry_array = syntax05( $zone );

           Runs                   the                   Syntax05                    Test                    Case
           <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Syntax-
           TP/syntax05.md>.

           Takes a Zonemaster::Engine::Zone object.

           Returns a list of Zonemaster::Engine::Logger::Entry objects.

       syntax06()
               my @logentry_array = syntax06( $zone );

           Runs                    the                    Syntax06                   Test                   Case
           <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Syntax-
           TP/syntax06.md>.

           Takes a Zonemaster::Engine::Zone object.

           Returns a list of Zonemaster::Engine::Logger::Entry objects.

       syntax07()
               my @logentry_array = syntax07( $zone );

           Runs                   the                   Syntax07                    Test                    Case
           <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Syntax-
           TP/syntax07.md>.

           Takes a Zonemaster::Engine::Zone object.

           Returns a list of Zonemaster::Engine::Logger::Entry objects.

       syntax08()
               my @logentry_array = syntax08( $zone );

           Runs                    the                    Syntax08                   Test                   Case
           <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Syntax-
           TP/syntax08.md>.

           Takes a Zonemaster::Engine::Zone object.

           Returns a list of Zonemaster::Engine::Logger::Entry objects.

perl v5.40.1                                       2025-03-21              Zonemaster::Engine::Test::Syntax(3pm)