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   23756 use strict;
  2         3  
  2         110  
4 2     2   616 use utf8;
  2         11  
  2         12  
5 2     2   71 use warnings;
  2         3  
  2         232  
6              
7             our $VERSION = "1.102";
8             $VERSION = eval $VERSION;
9              
10             require Exporter;
11             our @ISA = qw(Exporter);
12             our @EXPORT = qw(nameprep);
13              
14 2     2   2901 use Unicode::Stringprep 1.1;
  2         134334  
  2         346  
15              
16 2     2   27 use Unicode::Stringprep::Mapping;
  2         2  
  2         51  
17 2     2   8 use Unicode::Stringprep::Prohibited;
  2         5  
  2         449  
18              
19             our $_nameprep_stored;
20             our $_nameprep_query;
21              
22             sub nameprep {
23 47     47 1 19205 my ($input, %param) = @_;
24 47 100 100     173 if (
25             !exists($param{'AllowUnassigned'})
26             || $param{'AllowUnassigned'}
27             ) {
28 46         1215 goto &$_nameprep_query;
29             } else {
30 1         36 goto &$_nameprep_stored;
31             }
32             }
33              
34             BEGIN {
35 2     2   647 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         86877 our $_nameprep_query = Unicode::Stringprep->new(
62             @_common_args,
63             0,
64             );
65             }
66              
67             1;
68             __END__