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

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

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.

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.

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 );

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)

See Also