Condition Coverage

blib/lib/OOP/_getArgs.pm
Criterion Covered Total %
condition 70 123 56.9


and 3 conditions

line !l l&&!r l&&r condition
44 8 1 12 exists $$value{$key} and exists $$myProto{$key}
9 3 9 exists $$value{$key} and exists $$myProto{$key} and ref $$myProto{$key} eq 'HASH'
4 3 6 exists $$value{$key} and exists $$myProto{$key} and ref $$myProto{$key} eq 'HASH' and ref $_parentPrototype eq 'HASH'
6 4 2 exists $$value{$key} and exists $$myProto{$key} and ref $$myProto{$key} eq 'HASH' and ref $_parentPrototype eq 'HASH' and not exists $$myProto{$key}{'dataType'}
10 1 8 ref $$myProto{$key} eq 'HASH' and exists $$myProto{$key}{'dataType'}
61 11 0 0 ref $$myProto{$key} eq 'ARRAY' and scalar @{$$myProto{$key};} == 0
10 0 1 ref $$myProto{$key} eq 'HASH' and scalar %{$$myProto{$key};} == 0
0 1 9 ref $$myProto{$key} eq '' and scalar $$myProto{$key} <= 0
85 0 5 0 exists $$_currPrototype{'writeAccess'} and $$_currPrototype{'writeAccess'} <= 0
92 0 14 2 exists $$_currPrototype{'writeAccess'} and $$_currPrototype{'writeAccess'} == 0
96 0 14 0 exists $$_currPrototype{'writeAccess'} and $$_currPrototype{'writeAccess'} == -1
14 0 0 exists $$_currPrototype{'writeAccess'} and $$_currPrototype{'writeAccess'} == -1 and exists $$value{$key}
129 1 0 2 ref $_currPrototype eq 'HASH' && exists $$_currPrototype{'locked'} && $$_currPrototype{'locked'} == 1
163 36 0 27 ref $$myProto{$key} eq 'HASH' && exists $$myProto{$key}{'dataType'} && uc $$myProto{$key}{'dataType'} eq 'HASH'
256 4 33 40 ref $_prototype eq 'HASH' and exists $$_prototype{'dataType'}
268 36 0 1 not exists $$argsRef{$accessKey} and exists $$hashRef{$accessKey}
0 36 0 exists $$argsRef{$accessKey} and not exists $$hashRef{$accessKey}
281 0 0 0 uc $action ne 'STORE' and uc $$_prototype{'dataType'} eq 'HASH'
328 17 35 20 ref $_value eq 'HASH' and $$_value{'required'}
52 19 1 ref $_value eq 'HASH' and $$_value{'required'} and not exists $$xvalue{$_key}
362 3 0 0 $$attribute{'allowEmpty'} <= 0 and $value eq ''
365 1 0 1 $value ne '' and $$attribute{'allowEmpty'} > 0
0 2 0 length $value <= $$attribute{'minLength'} and ($value ne '' and $$attribute{'allowEmpty'} > 0)

or 2 conditions

line l !l condition
60 2 5 ref $val || 'scalar'
101 5 9 ref $val || 'scalar'
357 0 1 $str =~ /4f4f503a3a4163636573736f723a3a67657450726f7065727479/ or croak("Direct read access to '${key}' is prohibited!")

or 3 conditions

line l !l&&r !l&&!r condition
21 63 0 0 $$ARGS{'ARGS'} || croak('No arguments were passed to the prototype!')
22 63 0 0 $$ARGS{'PROTOTYPE'} || croak('No prototype was passed to the prototype!')
36 20 1 0 $$self{'_MAIN'} || $self
85 0 0 0 exists $$value{$key} or croak("'${key}' is an invalid key according to constructor!")
139 0 1 0 $$self{'_MAIN'} || $self
148 34 31 0 $$self{'_MAIN'} || $self
232 8 0 0 $$self{'_MAIN'} || $self
234 7 1 0 $$_mainobj{'_INDEX'}{$argsRef}{'parent'} || $$self{'PARENT'}
235 7 1 0 $$_mainobj{'_INDEX'}{$argsRef}{'parentkey'} || $$self{'PARENTKEY'}
268 36 0 0 exists $$argsRef{$accessKey} || exists $$hashRef{$accessKey}
281 0 0 0 uc $action ne 'STORE' and uc $$_prototype{'dataType'} eq 'HASH' or uc $$_prototype{'dataType'} ne 'HASH'
302 40 0 0 $$self{'_MAIN'} || $self
304 32 8 0 $$_mainobj{'_INDEX'}{$argsRef}{'parent'} || $$self{'PARENT'}
305 32 8 0 $$_mainobj{'_INDEX'}{$argsRef}{'parentkey'} || $$self{'PARENTKEY'}
320 10 0 30 uc $action eq 'STORE' || uc $action eq 'FETCH' && $_isChild
397 0 0 0 $str =~ /4f4f503a3a4163636573736f723a3a67657450726f7065727479/ or croak("Direct read access to '${key}' is prohibited!")