]> git.vpit.fr Git - perl/modules/Sub-Nary.git/blob - t/24-ops.t
Switch qw delimiters to <>
[perl/modules/Sub-Nary.git] / t / 24-ops.t
1 #!perl -T
2
3 use strict;
4 use warnings;
5
6 use Test::More tests => 34;
7
8 use Sub::Nary;
9
10 my $sn = Sub::Nary->new();
11
12 my ($x, %h);
13
14 my @tests = (
15  [ sub { delete $h{foo} },             1 ],
16  [ sub { delete @h{qw<foo bar baz>} }, 3 ],
17
18  [ sub { return <$x> }, 'list' ],
19
20  [ sub { -f $0, -r $0 }, 2 ],
21
22  [ sub { return caller 0 },  sub { my @a = caller 0; scalar @a }->() ],
23  [ sub { return localtime }, do { my @a = localtime; scalar @a } ],
24  [ sub { gmtime },           do { my @a = gmtime; scalar @a } ],
25
26  [ sub { each %h }, { 0 => 0.5, 2 => 0.5 } ],
27  [ sub { stat $0 }, { 0 => 0.5, 13 => 0.5 } ],
28
29  [ sub { do { getpwnam 'root' } },            { 0 => 0.5, 10 => 0.5 } ],
30  [ sub { 1; getpwuid '0' },                   { 0 => 0.5, 10 => 0.5 } ],
31  [ sub { eval { return getpwent } },          { 0 => 0.5, 10 => 0.5 } ],
32
33  [ sub { do { getgrnam 'root' } },            { 0 => 0.5, 4 => 0.5 } ],
34  [ sub { 1; getgrgid '0' },                   { 0 => 0.5, 4 => 0.5 } ],
35  [ sub { eval { return getgrent } },          { 0 => 0.5, 4 => 0.5 } ],
36
37  [ sub { do { gethostbyname 'localhost' } },  'list' ],
38  [ sub { 1; gethostbyaddr '', '' },           'list' ],
39  [ sub { eval { return gethostent } },        'list' ],
40
41  [ sub { do { getnetbyname '' } },            { 0 => 0.5, 4 => 0.5 } ],
42  [ sub { 1; getnetbyaddr '', '' },            { 0 => 0.5, 4 => 0.5 } ],
43  [ sub { eval { return getnetent } },         { 0 => 0.5, 4 => 0.5 } ],
44
45  [ sub { do { getprotobyname 'tcp' } },       { 0 => 0.5, 3 => 0.5 } ],
46  [ sub { 1; getprotobynumber 6 },             { 0 => 0.5, 3 => 0.5 } ],
47  [ sub { eval { return getprotoent } },       { 0 => 0.5, 3 => 0.5 } ],
48
49  [ sub { do { getservbyname 'ssh', 'tcp' } }, { 0 => 0.5, 4 => 0.5 } ],
50  [ sub { 1; getservbyport 22, 'tcp' },        { 0 => 0.5, 4 => 0.5 } ],
51  [ sub { eval { return getservent } },        { 0 => 0.5, 4 => 0.5 } ],
52
53  [ sub { endpwent },    1 ],
54  [ sub { endgrent },    1 ],
55  [ sub { endhostent },  1 ],
56  [ sub { endnetent },   1 ],
57  [ sub { endprotoent }, 1 ],
58  [ sub { endservent },  1 ],
59
60  [ sub { <*.*> }, 1 ],
61 );
62
63 my $i = 1;
64 for (@tests) {
65  my $r = $sn->nary($_->[0]);
66  my $exp = ref $_->[1] ? $_->[1] : { $_->[1] => 1 };
67  is_deeply($r, $exp, 'ops test ' . $i);
68  ++$i;
69 }