File Coverage

blib/lib/Net/IDN/Nameprep.pm
Criterion Covered Total %
statement 25 25 100.0
branch 2 2 100.0
condition 3 3 100.0
subroutine 8 8 100.0
pod 1 1 100.0
total 39 39 100.0


line stmt bran cond sub pod time code
1             package Net::IDN::Nameprep;
2              
3 2     2   32305 use strict;
  2         5  
  2         77  
4 2     2   889 use utf8;
  2         13  
  2         12  
5 2     2   66 use warnings;
  2         4  
  2         216  
6              
7             our $VERSION = "1.101";
8             $VERSION = eval $VERSION;
9              
10             require Exporter;
11             our @ISA = qw(Exporter);
12             our @EXPORT = qw(nameprep);
13              
14 2     2   1653 use Unicode::Stringprep 1.1;
  2         146824  
  2         252  
15              
16 2     2   32 use Unicode::Stringprep::Mapping;
  2         5  
  2         46  
17 2     2   12 use Unicode::Stringprep::Prohibited;
  2         4  
  2         540  
18              
19             our $_nameprep_stored;
20             our $_nameprep_query;
21              
22             sub nameprep {
23 47     47 1 29289 my ($input, %param) = @_;
24 47 100 100     230 if (
25             !exists($param{'AllowUnassigned'})
26             || $param{'AllowUnassigned'}
27             ) {
28 46         1412 goto &$_nameprep_query;
29             } else {
30 1         30 goto &$_nameprep_stored;
31             }
32             }
33              
34             BEGIN {
35 2     2   779 my @_common_args = (
36             3.2,
37             [
38             @Unicode::Stringprep::Mapping::B1,
39             @Unicode::Stringprep::Mapping::B2
40             ],
41             'KC',
42             [
43             @Unicode::Stringprep::Prohibited::C12,
44             @Unicode::Stringprep::Prohibited::C22,
45             @Unicode::Stringprep::Prohibited::C3,
46             @Unicode::Stringprep::Prohibited::C4,
47             @Unicode::Stringprep::Prohibited::C5,
48             @Unicode::Stringprep::Prohibited::C6,
49             @Unicode::Stringprep::Prohibited::C7,
50             @Unicode::Stringprep::Prohibited::C8,
51             @Unicode::Stringprep::Prohibited::C9
52             ],
53             1,
54             );
55              
56 2         16 our $_nameprep_stored = Unicode::Stringprep->new(
57             @_common_args,
58             1,
59             );
60              
61 2         113245 our $_nameprep_query = Unicode::Stringprep->new(
62             @_common_args,
63             0,
64             );
65             }
66              
67             1;
68             __END__