]> git.vpit.fr Git - perl/modules/Sub-Nary.git/commitdiff
Add support and tests for the get{pw,gr,host,net,proto,serv}* functions. Move ops...
authorVincent Pit <vince@profvince.com>
Tue, 5 Aug 2008 12:22:14 +0000 (14:22 +0200)
committerVincent Pit <vince@profvince.com>
Tue, 5 Aug 2008 12:22:14 +0000 (14:22 +0200)
MANIFEST
lib/Sub/Nary.pm
t/20-return.t
t/21-list.t
t/22-call.t
t/23-branch.t
t/24-ops.t [new file with mode: 0644]

index d09cac023f52fe15e0ffd6565b102a1bd4c7454e..97be8af4edbd01684090b774c570e06f8728f0df 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -14,6 +14,7 @@ t/20-return.t
 t/21-list.t
 t/22-call.t
 t/23-branch.t
+t/24-ops.t
 t/90-boilerplate.t
 t/91-pod.t
 t/92-pod-coverage.t
index eb26dfce3d24a411987ab91e49aba22a3fcbb10c..5c263154fd0de43d5c1e124d6b5fd35ad6ec1529 100644 (file)
@@ -198,18 +198,28 @@ sub add {
 }
 
 my %ops;
+
 $ops{$_} = 1      for scalops;
 $ops{$_} = 0      for qw/stub nextstate/;
 $ops{$_} = 1      for qw/padsv/;
 $ops{$_} = 'list' for qw/padav/;
 $ops{$_} = 'list' for qw/padhv rv2hv/;
 $ops{$_} = 'list' for qw/padany flip match entereval readline/;
+
 $ops{each}      = { 0 => 0.5, 2 => 0.5 };
 $ops{stat}      = { 0 => 0.5, 13 => 0.5 };
+
 $ops{caller}    = sub { my @a = caller 0; scalar @a }->();
 $ops{localtime} = do { my @a = localtime; scalar @a };
 $ops{gmtime}    = do { my @a = gmtime; scalar @a };
 
+$ops{$_} = { 0 => 0.5, 10 => 0.5 } for map "gpw$_", qw/nam uid ent/;
+$ops{$_} = { 0 => 0.5, 4 => 0.5 }  for map "ggr$_", qw/nam gid ent/;
+$ops{$_} = 'list'                  for qw/ghbyname ghbyaddr ghostent/;
+$ops{$_} = { 0 => 0.5, 4 => 0.5 }  for qw/gnbyname gnbyaddr gnetent/;
+$ops{$_} = { 0 => 0.5, 3 => 0.5 }  for qw/gpbyname gpbynumber gprotoent/;
+$ops{$_} = { 0 => 0.5, 4 => 0.5 }  for qw/gsbyname gsbyport gservent/;
+
 sub enter {
  my ($self, $cv) = @_;
 
index 98fecc9b68185d74afdb9eeadf9a1110c31c6463..e7e852d0c8e84582933beae4bc81c527c5018792 100644 (file)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 55;
+use Test::More tests => 50;
 
 use Sub::Nary;
 
@@ -72,19 +72,12 @@ my @tests = (
  [ sub { return eval { do { eval { @a } } } },      'list' ],
 
  [ sub { eval 'return 1, 2' }, 'list' ],
-
- [ sub { return <$x> }, 'list' ],
-
- [ sub { return -f $0, -r $0 }, 2 ],
-
- [ sub { return caller 0 },  sub { my @a = caller 0; scalar @a }->() ],
- [ sub { return localtime }, do { my @a = localtime; scalar @a } ],
- [ sub { return gmtime },    do { my @a = gmtime; scalar @a } ],
 );
 
 my $i = 1;
 for (@tests) {
  my $r = $sn->nary($_->[0]);
- is_deeply($r, { $_->[1] => 1 }, 'return test ' . $i);
+ my $exp = ref $_->[1] ? $_->[1] : { $_->[1] => 1 };
+ is_deeply($r, $exp, 'return test ' . $i);
  ++$i;
 }
index 62c9bc0764ade9c79b63b091df112d399ffdeb00..6de15c23d91bab35ceca6fd55a78f0e44fee5c1c 100644 (file)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 41;
+use Test::More tests => 36;
 
 use Sub::Nary;
 
@@ -60,19 +60,12 @@ my @tests = (
  [ sub { eval { 1, do { eval { @a }, 2 } } }, 'list' ],
 
  [ sub { eval '1, 2' }, 'list' ],
-
- [ sub { <$x> }, 'list' ],
-
- [ sub { -f $0, -r $0 }, 2 ],
-
- [ sub { caller 0 },  sub { my @a = caller 0; scalar @a }->() ],
- [ sub { localtime }, do { my @a = localtime; scalar @a } ],
- [ sub { gmtime },    do { my @a = gmtime; scalar @a } ],
 );
 
 my $i = 1;
 for (@tests) {
  my $r = $sn->nary($_->[0]);
- is_deeply($r, { $_->[1] => 1 }, 'list test ' . $i);
+ my $exp = ref $_->[1] ? $_->[1] : { $_->[1] => 1 };
+ is_deeply($r, $exp, 'list test ' . $i);
  ++$i;
 }
index fdd3812fcdfac933dafba9e12f01de1c75e2d5e3..de288a665a83f28f16934f8d18731b5c0a5d2c6d 100644 (file)
@@ -80,6 +80,7 @@ my @tests = (
 my $i = 1;
 for (@tests) {
  my $r = $sn->nary($_->[0]);
- is_deeply($r, { $_->[1] => 1 }, 'call test ' . $i);
+ my $exp = ref $_->[1] ? $_->[1] : { $_->[1] => 1 };
+ is_deeply($r, $exp, 'call test ' . $i);
  ++$i;
 }
index 72451e40e80c45ecdff391facdcce0902df62e73..8bffe50fdbbf93f569681ec1c1b8a21ce2dccf66 100644 (file)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 17;
+use Test::More tests => 14;
 
 use Sub::Nary;
 
@@ -59,17 +59,13 @@ my @tests = (
  [ \&ret1234, { map { $_ => 0.25 } 1 .. 4 } ],
 
  [ \&retinif, { 2 => 1 } ],
-
- [ sub { each %h }, { 0 => 0.5, 2 => 0.5 } ],
- [ sub { stat $0 }, { 0 => 0.5, 13 => 0.5 } ],
-
- [ sub { <*.*> }, { list => 1 / 3, 1 => 2 / 3 } ],
 );
 
 my $i = 1;
 for (@tests) {
  my $r = $sn->nary($_->[0]);
- is_deeply($r, $_->[1], 'branch test ' . $i);
+ my $exp = ref $_->[1] ? $_->[1] : { $_->[1] => 1 };
+ is_deeply($r, $exp, 'branch test ' . $i);
  ++$i;
 }
 
diff --git a/t/24-ops.t b/t/24-ops.t
new file mode 100644 (file)
index 0000000..a74fa43
--- /dev/null
@@ -0,0 +1,54 @@
+#!perl -T
+
+use strict;
+use warnings;
+
+use Test::More tests => 26;
+
+use Sub::Nary;
+
+my $sn = Sub::Nary->new();
+
+my ($x, %h);
+
+my @tests = (
+ [ sub { return <$x> }, 'list' ],
+
+ [ sub { -f $0, -r $0 }, 2 ],
+
+ [ sub { return caller 0 },  sub { my @a = caller 0; scalar @a }->() ],
+ [ sub { return localtime }, do { my @a = localtime; scalar @a } ],
+ [ sub { gmtime },           do { my @a = gmtime; scalar @a } ],
+
+ [ sub { each %h }, { 0 => 0.5, 2 => 0.5 } ],
+ [ sub { stat $0 }, { 0 => 0.5, 13 => 0.5 } ],
+
+ [ sub { do { getpwnam 'root' } },            { 0 => 0.5, 10 => 0.5 } ],
+ [ sub { 1; getpwuid '0' },                   { 0 => 0.5, 10 => 0.5 } ],
+ [ sub { eval { return getpwent } },          { 0 => 0.5, 10 => 0.5 } ],
+ [ sub { do { getgrnam 'root' } },            { 0 => 0.5, 4 => 0.5 } ],
+ [ sub { 1; getgrgid '0' },                   { 0 => 0.5, 4 => 0.5 } ],
+ [ sub { eval { return getgrent } },          { 0 => 0.5, 4 => 0.5 } ],
+ [ sub { do { gethostbyname 'localhost' } },  'list' ],
+ [ sub { 1; gethostbyaddr '', '' },           'list' ],
+ [ sub { eval { return gethostent } },        'list' ],
+ [ sub { do { getnetbyname '' } },            { 0 => 0.5, 4 => 0.5 } ],
+ [ sub { 1; getnetbyaddr '', '' },            { 0 => 0.5, 4 => 0.5 } ],
+ [ sub { eval { return getnetent } },         { 0 => 0.5, 4 => 0.5 } ],
+ [ sub { do { getprotobyname 'tcp' } },       { 0 => 0.5, 3 => 0.5 } ],
+ [ sub { 1; getprotobynumber 6 },             { 0 => 0.5, 3 => 0.5 } ],
+ [ sub { eval { return getprotoent } },       { 0 => 0.5, 3 => 0.5 } ],
+ [ sub { do { getservbyname 'ssh', 'tcp' } }, { 0 => 0.5, 4 => 0.5 } ],
+ [ sub { 1; getservbyport 22, 'tcp' },        { 0 => 0.5, 4 => 0.5 } ],
+ [ sub { eval { return getservent } },        { 0 => 0.5, 4 => 0.5 } ],
+
+ [ sub { <*.*> }, { list => 1 / 3, 1 => 2 / 3 } ],
+);
+
+my $i = 1;
+for (@tests) {
+ my $r = $sn->nary($_->[0]);
+ my $exp = ref $_->[1] ? $_->[1] : { $_->[1] => 1 };
+ is_deeply($r, $exp, 'ops test ' . $i);
+ ++$i;
+}