File Coverage

blib/lib/String/Incremental/Types.pm
Criterion Covered Total %
statement 15 15 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 20 20 100.0


line stmt bran cond sub pod time code
1             package String::Incremental::Types;
2 22     22   77127 use 5.008005;
  22         82  
  22         884  
3 22     22   227 use strict;
  22         41  
  22         808  
4 22     22   116 use warnings;
  22         39  
  22         1303  
5 22         350 use MouseX::Types -declare => [qw(
6             Char
7             CharOrderStr
8             CharOrderArrayRef
9 22     22   3343 )];
  22         74837  
10 22     22   5406 use MouseX::Types::Mouse qw( Str ArrayRef );
  22         322  
  22         150  
11              
12             subtype Char, as Str, where {
13             /^\S$/;
14             };
15              
16             subtype CharOrderStr, as Str, where {
17             my $val = shift;
18             my %c;
19             ( grep $c{$_}++, ( split //, $val ) ) ? 0 : 1;
20             };
21              
22             subtype CharOrderArrayRef, as ArrayRef, where {
23             my $val = shift;
24             my %c;
25             ( grep $c{$_}++, @$val ) ? 0 : 1;
26             };
27              
28             1;
29             __END__