File Coverage

blib/lib/Authen/SASL/SASLprep.pm
Criterion Covered Total %
statement 18 18 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod n/a
total 24 24 100.0


line stmt bran cond sub pod time code
1             package Authen::SASL::SASLprep;
2              
3 2     2   14477 use strict;
  2         3  
  2         54  
4 2     2   443 use utf8;
  2         9  
  2         8  
5 2     2   46 use warnings;
  2         3  
  2         145  
6             require 5.006_000;
7              
8             our $VERSION = '1.011';
9             $VERSION = eval $VERSION;
10              
11             require Exporter;
12             our @ISA = qw(Exporter);
13             our @EXPORT = qw(saslprep);
14              
15 2     2   792 use Unicode::Stringprep;
  2         75188  
  2         179  
16              
17 2     2   17 use Unicode::Stringprep::Mapping;
  2         2  
  2         31  
18 2     2   7 use Unicode::Stringprep::Prohibited;
  2         3  
  2         326  
19              
20             my %C12_to_SPACE = ();
21             for(my $pos=0; $pos <= $#Unicode::Stringprep::Prohibited::C12; $pos+=2)
22             {
23             for(my $char = $Unicode::Stringprep::Prohibited::C12[$pos];
24             defined $Unicode::Stringprep::Prohibited::C12[$pos]
25             && $char <= $Unicode::Stringprep::Prohibited::C12[$pos];
26             $char++) {
27             $C12_to_SPACE{$char} = ' ';
28             }
29             };
30              
31             *saslprep = Unicode::Stringprep->new(
32             3.2,
33             [ \@Unicode::Stringprep::Mapping::B1,
34             \%C12_to_SPACE ],
35             'KC',
36             [ \@Unicode::Stringprep::Prohibited::C12,
37             \@Unicode::Stringprep::Prohibited::C21,
38             \@Unicode::Stringprep::Prohibited::C22,
39             \@Unicode::Stringprep::Prohibited::C3,
40             \@Unicode::Stringprep::Prohibited::C4,
41             \@Unicode::Stringprep::Prohibited::C5,
42             \@Unicode::Stringprep::Prohibited::C6,
43             \@Unicode::Stringprep::Prohibited::C7,
44             \@Unicode::Stringprep::Prohibited::C8,
45             \@Unicode::Stringprep::Prohibited::C9,
46             ],
47             1
48             );
49              
50             1;
51             __END__