File Coverage

lib/JMAP/Validation/Generators/Address.pm
Criterion Covered Total %
statement 21 21 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod 0 1 0.0
total 27 28 96.4


line stmt bran cond sub pod time code
1             package JMAP::Validation::Generators::Address;
2              
3 3     3   371 use strict;
  3         4  
  3         67  
4 3     3   9 use warnings;
  3         4  
  3         57  
5              
6 3     3   975 use JMAP::Validation::Generators::String;
  3         20  
  3         72  
7 3     3   12 use JSON::PP;
  3         6  
  3         123  
8 3     3   12 use JSON::Typist;
  3         3  
  3         289  
9              
10             sub generate {
11 3     3 0 72 my @Addresses;
12              
13 3         7 foreach my $type (qw{home work billing postal other}) {
14 15         578 foreach my $label (JMAP::Validation::Generators::String->generate(), undef) {
15 30         2181 foreach my $isDefault (JSON::PP::true, JSON::PP::false) {
16 60         1115 push @Addresses, {
17             type => JSON::Typist::String->new($type),
18             label => $label,
19             street => JMAP::Validation::Generators::String->generate(),
20             locality => JMAP::Validation::Generators::String->generate(),
21             region => JMAP::Validation::Generators::String->generate(),
22             postcode => JMAP::Validation::Generators::String->generate(),
23             country => JMAP::Validation::Generators::String->generate(),
24             isDefault => $isDefault,
25             };
26             }
27             }
28             }
29              
30 3         113 return @Addresses;
31             }
32              
33             1;