File Coverage

blib/lib/DBIx/MoCo/Column/utf8.pm
Criterion Covered Total %
statement 13 21 61.9
branch 3 16 18.7
condition n/a
subroutine 4 5 80.0
pod 0 2 0.0
total 20 44 45.4


line stmt bran cond sub pod time code
1             package DBIx::MoCo::Column::utf8;
2 1     1   7 use strict;
  1         2  
  1         40  
3 1     1   6 use warnings;
  1         3  
  1         53  
4              
5             BEGIN {
6 1 50   1   6 if ($] <= 5.008000) {
7 0         0 require Encode;
8             } else {
9 1         967 require utf8;
10             }
11             }
12              
13             sub utf8 {
14 4     4 0 10 my $self = shift;
15 4         26 my $v = $$self;
16 4 50       18 if ($] <= 5.008000) {
17 0 0       0 Encode::_utf8_on($v) unless Encode::is_utf8($v);
18             } else {
19 4 50       39 utf8::decode($v) unless utf8::is_utf8($v);
20             }
21 4         59 return $v;
22             }
23              
24             sub utf8_as_string {
25 0     0 0   my $class = shift;
26 0 0         my $v = shift or return;
27 0 0         if ($] <= 5.008000) {
28 0 0         Encode::_utf8_off($v) if Encode::is_utf8($v);
29             } else {
30 0 0         utf8::encode($v) if utf8::is_utf8($v);
31             }
32 0           return $v;
33             }
34              
35             1;
36