100 lines
1.9 KiB
Raku
Executable File
100 lines
1.9 KiB
Raku
Executable File
#!./perl
|
|
|
|
#
|
|
# grep() and map() tests
|
|
#
|
|
|
|
print "1..27\n";
|
|
|
|
$test = 1;
|
|
|
|
sub ok {
|
|
my ($got,$expect) = @_;
|
|
print "# expected [$expect], got [$got]\nnot " if $got ne $expect;
|
|
print "ok $test\n";
|
|
}
|
|
|
|
{
|
|
my @lol = ([qw(a b c)], [], [qw(1 2 3)]);
|
|
my @mapped = map {scalar @$_} @lol;
|
|
ok "@mapped", "3 0 3";
|
|
$test++;
|
|
|
|
my @grepped = grep {scalar @$_} @lol;
|
|
ok "@grepped", "$lol[0] $lol[2]";
|
|
$test++;
|
|
|
|
@grepped = grep { $_ } @mapped;
|
|
ok "@grepped", "3 3";
|
|
$test++;
|
|
}
|
|
|
|
{
|
|
print map({$_} ("ok $test\n"));
|
|
$test++;
|
|
print map
|
|
({$_} ("ok $test\n"));
|
|
$test++;
|
|
print((map({a => $_}, ("ok $test\n")))[0]->{a});
|
|
$test++;
|
|
print((map
|
|
({a=>$_},
|
|
("ok $test\n")))[0]->{a});
|
|
$test++;
|
|
print map { $_ } ("ok $test\n");
|
|
$test++;
|
|
print map
|
|
{ $_ } ("ok $test\n");
|
|
$test++;
|
|
print((map {a => $_}, ("ok $test\n"))[0]->{a});
|
|
$test++;
|
|
print((map
|
|
{a=>$_},
|
|
("ok $test\n"))[0]->{a});
|
|
$test++;
|
|
my $x = "ok \xFF\xFF\n";
|
|
print map($_&$x,("ok $test\n"));
|
|
$test++;
|
|
print map
|
|
($_ & $x, ("ok $test\n"));
|
|
$test++;
|
|
print map { $_ & $x } ("ok $test\n");
|
|
$test++;
|
|
print map
|
|
{ $_&$x } ("ok $test\n");
|
|
$test++;
|
|
|
|
print grep({$_} ("ok $test\n"));
|
|
$test++;
|
|
print grep
|
|
({$_} ("ok $test\n"));
|
|
$test++;
|
|
print grep({a => $_}->{a}, ("ok $test\n"));
|
|
$test++;
|
|
print grep
|
|
({a => $_}->{a},
|
|
("ok $test\n"));
|
|
$test++;
|
|
print grep { $_ } ("ok $test\n");
|
|
$test++;
|
|
print grep
|
|
{ $_ } ("ok $test\n");
|
|
$test++;
|
|
print grep {a => $_}->{a}, ("ok $test\n");
|
|
$test++;
|
|
print grep
|
|
{a => $_}->{a},
|
|
("ok $test\n");
|
|
$test++;
|
|
print grep($_&"X",("ok $test\n"));
|
|
$test++;
|
|
print grep
|
|
($_&"X", ("ok $test\n"));
|
|
$test++;
|
|
print grep { $_ & "X" } ("ok $test\n");
|
|
$test++;
|
|
print grep
|
|
{ $_ & "X" } ("ok $test\n");
|
|
$test++;
|
|
}
|