Linux server1.hosting4iran.com 4.18.0-553.89.1.el8_10.x86_64 #1 SMP Mon Dec 8 03:53:08 EST 2025 x86_64
LiteSpeed
Server IP : 185.208.174.156 & Your IP : 216.73.216.218
Domains : 282 Domain
User : satitravel
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
perl-Sub-Exporter /
t /
Delete
Unzip
Name
Size
Permission
Date
Action
lib
[ DIR ]
drwxr-xr-x
2023-12-23 09:30
00-compile.t
987
B
-rw-r--r--
2013-10-18 15:10
000-report-versions-tiny.t
2.56
KB
-rw-r--r--
2013-10-18 15:10
col-init.t
1.13
KB
-rw-r--r--
2019-10-13 12:14
collection.t
2.83
KB
-rw-r--r--
2019-10-13 12:14
expand-group.t
5.27
KB
-rw-r--r--
2019-10-13 12:14
faux-export.t
2.97
KB
-rw-r--r--
2019-10-13 12:14
gen-callable.t
574
B
-rw-r--r--
2019-10-13 12:14
group-generator.t
3.69
KB
-rw-r--r--
2019-10-13 12:14
inherited.t
613
B
-rw-r--r--
2019-10-13 12:14
into-level.t
3.06
KB
-rw-r--r--
2019-10-13 12:14
real-export-groupgen.t
1.86
KB
-rw-r--r--
2019-10-13 12:14
real-export-href.t
4.12
KB
-rw-r--r--
2019-10-13 12:14
real-export-setup.t
3.6
KB
-rw-r--r--
2019-10-13 12:14
util-curry.t
1.69
KB
-rw-r--r--
2019-10-13 12:14
util-currychain.t
1.68
KB
-rw-r--r--
2019-10-13 12:14
util-like.t
3.03
KB
-rw-r--r--
2019-10-13 12:14
util-merge.t
1.71
KB
-rw-r--r--
2019-10-13 12:14
util-mixin.t
2.73
KB
-rw-r--r--
2019-10-13 12:14
util-namemap.t
568
B
-rw-r--r--
2019-10-13 12:14
valid-config.t
1.27
KB
-rw-r--r--
2019-10-13 12:14
Save
Rename
#!/usr/bin/perl -T use strict; use warnings; use Test::More tests => 4; BEGIN { use_ok("Sub::Exporter::Util", qw(curry_chain)); } # So, some packages that we'll chain methods through. { package Test::CurryChain::Head; sub new { my ($class, @arg) = @_; bless [ @arg ] => $class; } sub next_obj { shift; return Test::CurryChain::Tail->new(@_); } sub false { return; } sub non_invocant { return 1; } package Test::CurryChain::Tail; sub new { my ($class, @arg) = @_; bless [ @arg ] => $class; } sub rev_guts { return reverse @{shift()}; } } { # Then the generator which could be put into a Sub::Exporter -setup. # This is an optlist. AREF = args; undef = no args; CODE = args generator my $generator = curry_chain( next_obj => [ 1, 2, 3 ], rev_guts => undef, ); my $curried_sub = $generator->('Test::CurryChain::Head'); my @result = $curried_sub->(); is_deeply( \@result, [ 3, 2, 1], "simple curried chain behaves as expected" ); } { # This one will fail, beacuse the second call returns false. my $generator = curry_chain( new => [ 1, 2, 3 ], false => undef, will_fail => undef, ); my $curried_sub = $generator->('Test::CurryChain::Head'); eval { $curried_sub->() }; like($@, qr/can't call will_fail/, "exception on broken chain"); } { # This one will fail, beacuse the second call returns a true non-invocant. my $generator = curry_chain( new => [ 1, 2, 3 ], non_invocant => undef, will_fail => undef, ); my $curried_sub = $generator->('Test::CurryChain::Head'); eval { $curried_sub->() }; like($@, qr/can't call will_fail/, "exception on broken chain"); }