File Coverage

blib/lib/Locale/TextDomain/OO/Plugin/Expand/Gettext/Loc/DomainAndCategory.pm
Criterion Covered Total %
statement 15 69 21.7
branch 0 2 0.0
condition n/a
subroutine 5 30 16.6
pod 12 12 100.0
total 32 113 28.3


line stmt bran cond sub pod time code
1             package Locale::TextDomain::OO::Plugin::Expand::Gettext::Loc::DomainAndCategory; ## no critic (TidyCode)
2            
3 4     4   8082 use strict;
  4         9  
  4         126  
4 4     4   21 use warnings;
  4         10  
  4         122  
5 4     4   1275 use Locale::Utils::PlaceholderNamed;
  4         15753  
  4         110  
6 4     4   27 use Moo::Role;
  4         10  
  4         30  
7            
8             our $VERSION = '1.030';
9            
10             with qw(
11             Locale::TextDomain::OO::Plugin::Expand::Gettext::Loc
12             Locale::TextDomain::OO::Role::DomainAndCategory
13             );
14            
15             requires qw(
16             loc_x
17             loc_nx
18             loc_px
19             loc_npx
20            
21             begin_c
22             begin_d
23             begin_dc
24             callback_scope
25             end_c
26             end_d
27             end_dc
28             );
29            
30             sub loc_dx {
31 0     0 1   my ( $self, $domain, @more ) = @_;
32            
33             return $self->callback_scope(
34             sub {
35 0     0     $self->begin_d($domain);
36 0           return $self->loc_x(@more);
37             },
38 0           );
39             }
40            
41             sub loc_cx {
42 0     0 1   my ($self, @more) = @_;
43            
44             return $self->callback_scope(
45             sub {
46 0     0     $self->begin_c( splice @more, 1, 1 );
47 0           return $self->loc_x(@more);
48             },
49 0           );
50             }
51            
52             sub loc_dcx {
53 0     0 1   my ( $self, $domain, @more ) = @_;
54            
55             return $self->callback_scope(
56             sub {
57 0     0     $self->begin_d($domain);
58 0           $self->begin_c( splice @more, 1, 1 );
59 0           return $self->loc_x(@more);
60             },
61 0           );
62             }
63            
64             sub loc_dnx {
65 0     0 1   my ( $self, $domain, @more ) = @_;
66            
67             return $self->callback_scope(
68             sub {
69 0     0     $self->begin_d($domain);
70 0           return $self->loc_nx(@more);
71             },
72 0           );
73             }
74            
75             sub loc_cnx {
76 0     0 1   my ( $self, @more ) = @_;
77            
78             return $self->callback_scope(
79             sub {
80 0     0     $self->begin_c( splice @more, 3, 1 ); ## no critic (MagicNumbers)
81 0           return $self->loc_nx(@more);
82             },
83 0           );
84             }
85            
86             sub loc_dcnx {
87 0     0 1   my ( $self, $domain, @more ) = @_;
88            
89             return $self->callback_scope(
90             sub {
91 0     0     $self->begin_d($domain);
92 0           $self->begin_c( splice @more, 3, 1 ); ## no critic (MagicNumbers)
93 0           return $self->loc_nx(@more);
94             },
95 0           );
96             }
97            
98             sub loc_dpx {
99 0     0 1   my ( $self, $domain, @more ) = @_;
100            
101             return $self->callback_scope(
102             sub {
103 0     0     $self->begin_d($domain);
104 0           return $self->loc_px(@more);
105             },
106 0           );
107             }
108            
109             sub loc_cpx {
110 0     0 1   my ( $self, @more ) = @_;
111            
112             return $self->callback_scope(
113             sub {
114 0     0     $self->begin_c( splice @more, 2, 1 );
115 0           return $self->loc_px(@more);
116             },
117 0           );
118             }
119            
120             sub loc_dcpx {
121 0     0 1   my ( $self, $domain, @more ) = @_;
122            
123             return $self->callback_scope(
124             sub {
125 0     0     $self->begin_d($domain);
126 0           $self->begin_c( splice @more, 2, 1 );
127 0           return $self->loc_px(@more);
128             },
129 0           );
130             }
131            
132             sub loc_dnpx {
133 0     0 1   my ( $self, $domain, @more ) = @_;
134            
135             return $self->callback_scope(
136             sub {
137 0     0     $self->begin_d($domain);
138 0           return $self->loc_npx(@more);
139             },
140 0           );
141             }
142            
143             sub loc_cnpx {
144 0     0 1   my ($self, @more) = @_;
145            
146             return $self->callback_scope(
147             sub {
148 0     0     $self->begin_c( splice @more, 4, 1 ); ## no critic (MagicNumbers)
149 0           return $self->loc_npx(@more);
150             },
151 0           );
152             }
153            
154             sub loc_dcnpx {
155 0     0 1   my ( $self, $domain, @more ) = @_;
156            
157             return $self->callback_scope(
158             sub {
159 0     0     $self->begin_d($domain);
160 0           $self->begin_c( splice @more, 4, 1 ); ## no critic (MagicNumbers)
161 0           return $self->loc_npx(@more);
162             },
163 0           );
164             }
165            
166             {
167 4     4   4505 no warnings qw(redefine); ## no critic (NoWarnings)
  4         9  
  4         1454  
168            
169             # Dummy methods for string marking.
170             my $dummy = sub {
171 0     0     my (undef, @more) = @_;
172 0 0         return wantarray ? @more : $more[0];
173             };
174            
175             *loc_begin_c = \&begin_c;
176             *loc_begin_d = \&begin_d;
177             *loc_begin_dc = \&begin_dc;
178            
179             *loc_end_c = \&end_c;
180             *loc_end_d = \&end_d;
181             *loc_end_dc = \&end_dc;
182            
183             *loc_d = \&loc_dx;
184             *loc_dn = \&loc_dnx;
185             *loc_dp = \&loc_dpx;
186             *loc_dnp = \&loc_dnpx;
187            
188             *loc_c = \&loc_cx;
189             *loc_cn = \&loc_cnx;
190             *loc_cp = \&loc_cpx;
191             *loc_cnp = \&loc_cnpx;
192            
193             *loc_dc = \&loc_dcx;
194             *loc_dcn = \&loc_dcnx;
195             *loc_dcp = \&loc_dcpx;
196             *loc_dcnp = \&loc_dcnpx;
197            
198             *Nloc_d = $dummy;
199             *Nloc_dn = $dummy;
200             *Nloc_dp = $dummy;
201             *Nloc_dnp = $dummy;
202            
203             *Nloc_dx = $dummy;
204             *Nloc_dnx = $dummy;
205             *Nloc_dpx = $dummy;
206             *Nloc_dnpx = $dummy;
207            
208             *Nloc_c = $dummy;
209             *Nloc_cn = $dummy;
210             *Nloc_cp = $dummy;
211             *Nloc_cnp = $dummy;
212            
213             *Nloc_cx = $dummy;
214             *Nloc_cnx = $dummy;
215             *Nloc_cpx = $dummy;
216             *Nloc_cnpx = $dummy;
217            
218             *Nloc_dc = $dummy;
219             *Nloc_dcn = $dummy;
220             *Nloc_dcp = $dummy;
221             *Nloc_dcnp = $dummy;
222            
223             *Nloc_dcx = $dummy;
224             *Nloc_dcnx = $dummy;
225             *Nloc_dcpx = $dummy;
226             *Nloc_dcnpx = $dummy;
227             }
228            
229             1;
230            
231             __END__