File Coverage

blib/lib/Cikl/DataTypes/Fqdn.pm
Criterion Covered Total %
statement 21 21 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod n/a
total 28 28 100.0


line stmt bran cond sub pod time code
1             package Cikl::DataTypes::Fqdn;
2 2     2   10 use strict;
  2         4  
  2         68  
3 2     2   10 use warnings;
  2         4  
  2         133  
4 2     2   11 use namespace::autoclean;
  2         4  
  2         14  
5 2     2   2117 use Cikl::DataTypes::LowerCaseStr;
  2         6  
  2         63  
6 2     2   18 use Mouse::Util::TypeConstraints;
  2         3  
  2         17  
7 2     2   128418 use Regexp::Common qw/net/;
  2         9695  
  2         31  
8              
9 2     2   7279 use constant FQDN_RE => qr/^$RE{net}{domain}{-rfc1101}{-nospace}$/ ;
  2         5  
  2         18  
10              
11             subtype 'Cikl::DataTypes::Fqdn',
12             as 'Cikl::DataTypes::LowerCaseStr',
13             where {
14             $_ !~ /\s/ # No whitespace
15             && $_ =~ FQDN_RE # proper fqdn
16             },
17             message { "Invalid fqdn '$_'"} ;
18              
19             1;
20