File Coverage

File:t/01-Scalar-Util.t
Coverage:90.0%

linestmtbrancondsubpodtimecode
1#!perl
2
3
1
1
1
27943
3
81
use strict;
4
1
1
1
4
1
42
use warnings;
5
6
1
1
1
638
46549
10
use Test::More tests => 19;
7
8
1
1
1
1590
4
82
use Util::Underscore;
9
10
1
226727
my %aliases = qw/
11    class blessed
12    ref_addr refaddr
13    ref_type reftype
14    ref_weaken weaken
15    ref_unweaken unweaken
16    ref_is_weak isweak
17    new_dual dualvar
18    is_dual isdual
19    is_vstring isvstring
20    is_numeric looks_like_number
21    is_open openhandle
22    is_readonly readonly
23    is_tainted tainted
24    /;
25
26
1
8
while (my ($k, $v) = each %aliases) {
27
1
1
1
5
2
2203
    no strict 'refs';
28
13
13
13
41126
63
82
    ok \&{"_::$k"} == \&{"Scalar::Util::$v"}, "_::$k == Scalar::Util::$v";
29}
30
31# Test _::prototype
32
33
0
sub foo { die "unimplemented" }
34
1
0
662
0
my $foo = sub { die "unimplemented" };
35
36
1
7
ok + (not defined _::prototype \&foo), 'sub prototype empty';
37
1
701
ok + (not defined _::prototype $foo), 'coderef prototype empty';
38
39
1
663
_::prototype \&foo, '$;\@@';
40
1
5
_::prototype $foo, '$;\@@';
41
42
1
4
is + (_::prototype \&foo), '$;\@@', 'sub prototype not empty';
43
1
643
is + (_::prototype $foo), '$;\@@', 'coderef prototype not empty';
44
45
1
628
_::prototype \&foo, undef;
46
1
3
_::prototype $foo, undef;
47
48
1
8
ok + (not defined _::prototype \&foo), 'sub prototype empty again';
49
1
652
ok + (not defined _::prototype $foo), 'coderef prototype empty again';