Windows NT KAMIDAKI 10.0 build 19045 (Windows 10) AMD64
Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.3.9
Server IP : 192.168.3.16 & Your IP : 216.73.216.140
Domains :
Cant Read [ /etc/named.conf ]
User : SISTEMA
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
C: /
xampp /
perl /
vendor /
lib /
Test2 /
Compare /
Delete
Unzip
Name
Size
Permission
Date
Action
Array.pm
7.98
KB
-rw-rw-rw-
2020-12-16 05:48
Bag.pm
5.41
KB
-rw-rw-rw-
2020-12-16 05:48
Base.pm
5.6
KB
-rw-rw-rw-
2020-12-16 05:48
Bool.pm
1.82
KB
-rw-rw-rw-
2020-12-16 05:48
Custom.pm
3.11
KB
-rw-rw-rw-
2020-12-16 05:48
DeepRef.pm
1.94
KB
-rw-rw-rw-
2020-12-16 05:48
Delta.pm
13.73
KB
-rw-rw-rw-
2020-12-16 05:48
Event.pm
1.32
KB
-rw-rw-rw-
2020-12-16 05:48
EventMeta.pm
1.62
KB
-rw-rw-rw-
2020-12-16 05:48
Float.pm
3.98
KB
-rw-rw-rw-
2020-12-16 05:48
Hash.pm
5.75
KB
-rw-rw-rw-
2020-12-16 05:48
Isa.pm
1.65
KB
-rw-rw-rw-
2020-12-16 05:48
Meta.pm
3.44
KB
-rw-rw-rw-
2020-12-16 05:48
Negatable.pm
2.2
KB
-rw-rw-rw-
2020-12-16 05:48
Number.pm
2.56
KB
-rw-rw-rw-
2020-12-16 05:48
Object.pm
6.08
KB
-rw-rw-rw-
2020-12-16 05:48
OrderedSubset.pm
3.39
KB
-rw-rw-rw-
2020-12-16 05:48
Pattern.pm
1.67
KB
-rw-rw-rw-
2020-12-16 05:48
Ref.pm
1.92
KB
-rw-rw-rw-
2020-12-16 05:48
Regex.pm
1.52
KB
-rw-rw-rw-
2020-12-16 05:48
Scalar.pm
2
KB
-rw-rw-rw-
2020-12-16 05:48
Set.pm
2.91
KB
-rw-rw-rw-
2020-12-16 05:48
String.pm
1.79
KB
-rw-rw-rw-
2020-12-16 05:48
Undef.pm
1.27
KB
-rw-rw-rw-
2020-12-16 05:48
Wildcard.pm
1.13
KB
-rw-rw-rw-
2020-12-16 05:48
Save
Rename
package Test2::Compare::Custom; use strict; use warnings; use base 'Test2::Compare::Base'; our $VERSION = '0.000139'; use Test2::Util::HashBase qw/code name operator/; use Carp qw/croak/; sub init { my $self = shift; croak "'code' is required" unless $self->{+CODE}; $self->{+OPERATOR} ||= 'CODE(...)'; $self->{+NAME} ||= '<Custom Code>'; $self->SUPER::init(); } sub verify { my $self = shift; my %params = @_; my ($got, $exists) = @params{qw/got exists/}; my $code = $self->{+CODE}; local $_ = $got; my $ok = $code->( got => $got, exists => $exists, operator => $self->{+OPERATOR}, name => $self->{+NAME}, ); return $ok; } 1; __END__ =pod =encoding UTF-8 =head1 NAME Test2::Compare::Custom - Custom field check for comparisons. =head1 DESCRIPTION Sometimes you want to do something complicated or unusual when validating a field nested inside a deep data structure. You could pull it out of the structure and test it separately, or you can use this to embed the check. This provides a way for you to write custom checks for fields in deep comparisons. =head1 SYNOPSIS my $cus = Test2::Compare::Custom->new( name => 'IsRef', operator => 'ref(...)', code => sub { my %args = @_; return $args{got} ? 1 : 0; }, ); # Pass is( { a => 1, ref => {}, b => 2 }, { a => 1, ref => $cus, b => 2 }, "This will pass" ); # Fail is( {a => 1, ref => 'notref', b => 2}, {a => 1, ref => $cus, b => 2}, "This will fail" ); =head1 ARGUMENTS Your custom sub will be passed 4 arguments in a hash: code => sub { my %args = @_; # provides got, exists, operator, name return ref($args{got}) ? 1 : 0; }, C<$_> is also localized to C<got> to make it easier for those who need to use regexes. =over 4 =item got =item $_ The value to be checked. =item exists This will be a boolean. This will be true if C<got> exists at all. If C<exists> is false then it means C<got> is not simply undef, but doesn't exist at all (think checking the value of a hash key that does not exist). =item operator The operator specified at construction. =item name The name provided at construction. =back =head1 METHODS =over 4 =item $code = $cus->code Returns the coderef provided at construction. =item $name = $cus->name Returns the name provided at construction. =item $op = $cus->operator Returns the operator provided at construction. =item $bool = $cus->verify(got => $got, exists => $bool) =back =head1 SOURCE The source code repository for Test2-Suite can be found at F<https://github.com/Test-More/Test2-Suite/>. =head1 MAINTAINERS =over 4 =item Chad Granum E<lt>exodist@cpan.orgE<gt> =back =head1 AUTHORS =over 4 =item Chad Granum E<lt>exodist@cpan.orgE<gt> =back =head1 COPYRIGHT Copyright 2018 Chad Granum E<lt>exodist@cpan.orgE<gt>. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See F<http://dev.perl.org/licenses/> =cut