File Coverage

blib/lib/Lingua/EN/Pseudolocalize.pm
Criterion Covered Total %
statement 18 18 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod 2 2 100.0
total 26 26 100.0


line stmt bran cond sub pod time code
1             package Lingua::EN::Pseudolocalize;
2 1     1   13968 use strict; use warnings;
  1     1   2  
  1         33  
  1         3  
  1         2  
  1         31  
3 1     1   599 use Sub::Exporter::Simple qw/convert deconvert/;
  1         11403  
  1         6  
4 1     1   5216 use charnames ':full';
  1         33177  
  1         6  
5              
6             # ABSTRACT: Test Unicode support by pretending to speak a different language.
7              
8             my $lookup = {
9             'th' => "\N{LATIN SMALL LETTER TH WITH STRIKETHROUGH}",
10             'ts' => "\N{LATIN SMALL LETTER TS DIGRAPH}",
11             'st' => "\N{LATIN SMALL LIGATURE ST}",
12             'a' => "\N{LATIN SMALL LETTER A WITH HOOK ABOVE}",
13             'b' => "\N{LATIN SMALL LETTER B WITH MIDDLE TILDE}",
14             'd' => "\N{LATIN SMALL LETTER D WITH CURL}",
15             'e' => "\N{LATIN SMALL LETTER E WITH INVERTED BREVE}",
16             'i' => "\N{LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE}",
17             'o' => "\N{LATIN SMALL LETTER O WITH DOT ABOVE}",
18             'u' => "\N{LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE}",
19             'A' => "\N{LATIN CAPITAL LETTER A WITH RING BELOW}",
20             'E' => "\N{LATIN CAPITAL LETTER E WITH TILDE BELOW}",
21             'I' => "\N{LATIN CAPITAL LETTER I WITH INVERTED BREVE}",
22             'O' => "\N{LATIN CAPITAL LETTER O WITH STROKE AND ACUTE}",
23             'U' => "\N{LATIN CAPITAL LETTER U WITH DIAERESIS BELOW}",
24             'T' => "\N{LATIN CAPITAL LETTER T WITH HOOK}",
25             'N' => "\N{LATIN CAPITAL LETTER N WITH ACUTE}",
26             'S' => "\N{LATIN CAPITAL LETTER S WITH COMMA BELOW}",
27             'H' => "\N{LATIN CAPITAL LETTER H WITH DIAERESIS}",
28             'R' => "\N{LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON}",
29             'D' => "\N{LATIN CAPITAL LETTER D WITH STROKE}",
30             'L' => "\N{LATIN CAPITAL LETTER L WITH MIDDLE DOT}",
31             };
32              
33             sub convert {
34 1     1 1 11 my $str = shift;
35 1         206 $str =~ s/$_/$lookup->{$_}/g for keys %$lookup;
36 1         6 return $str
37             }
38              
39             sub deconvert {
40 1     1 1 523 my $str = shift;
41 1         188 $str =~ s/$lookup->{$_}/$_/g for keys %$lookup;
42 1         5 return $str
43             }
44              
45             1;
46              
47             __END__