line |
true |
false |
branch |
110
|
2 |
0 |
if (ref $item eq 'HASH') { } |
|
0 |
0 |
elsif (not ref $item) { } |
113
|
0 |
2 |
unless defined $item->{'path'} and $item->{'path'} ne '' |
116
|
0 |
2 |
if $item->{'path'} ne '/' and $item->{'path'} =~ qr" ^ / | / $ | // | [?#] "sx |
132
|
0 |
1 |
unless $last_node |
153
|
0 |
2 |
if (defined $ds->{'path_defs'}{$path}) { } |
176
|
0 |
6 |
unless $NODE_DEF{$key} |
183
|
0 |
6 |
if (not defined $value or $value eq '') { } |
|
3 |
3 |
elsif ($NODE_DEF{$key} eq 'single') { } |
|
0 |
3 |
elsif ($NODE_DEF{$key} eq 'hook') { } |
|
0 |
3 |
elsif ($NODE_DEF{$key} eq 'set') { } |
|
1 |
2 |
elsif ($NODE_DEF{$key} eq 'list') { } |
202
|
0 |
0 |
if (ref $value eq 'ARRAY') { } |
206
|
0 |
0 |
unless ref $v eq 'CODE' or not ref $v |
213
|
0 |
0 |
unless ref $value eq 'CODE' or not ref $value |
229
|
0 |
0 |
unless ($value =~ qr/ ^ (?> [\w.:][\w.:-]* | \s*,\s* )* $ /sx or $value =~ qr/ ^ (?> [+-][\w.:][\w.:-]* | \s*,\s* )* $ /sx) |
236
|
0 |
0 |
if $value =~ qr/ ^ (?> \s*,\s* )* [+-] /sx |
244
|
0 |
1 |
unless ($value =~ qr/ ^ (?> [\w.:-]+ | \s*,\s* )+ $ /sx) |
265
|
0 |
2 |
if (defined $place) |
270
|
0 |
0 |
if ($place > 0 and defined $list and $list ne '') { } |
|
0 |
0 |
elsif ($place ne '0') { } |
290
|
0 |
2 |
if ($role and not $Web::DataService::ONE_REQUEST) |
310
|
0 |
2 |
if ($role) |
314
|
0 |
0 |
if $role =~ qr/ [.] pm $ /sx |
318
|
0 |
0 |
unless %{"${role}::";} |
326
|
0 |
2 |
if ($method) |
328
|
0 |
0 |
unless defined $role |
331
|
0 |
0 |
unless $role->can($method) |
340
|
0 |
2 |
if $method |
341
|
0 |
2 |
if $ds->node_attr($path, 'file_dir') |
342
|
0 |
2 |
if $ds->node_attr($path, 'file_path') |
344
|
0 |
2 |
if ($method and $attr_count > 1) { } |
|
0 |
2 |
elsif ($attr_count > 1) { } |
360
|
2 |
0 |
if (ref $allow_format and &reftype($allow_format) eq 'HASH') |
365
|
0 |
4 |
unless ref $ds->{'format'}{$f} |
377
|
2 |
0 |
if (ref $allow_vocab and &reftype($allow_vocab) eq 'HASH') |
382
|
0 |
4 |
unless ref $ds->{'vocab'}{$v} |
392
|
0 |
2 |
if (defined $place and not $place =~ qr/^[0-9]+$/) |
426
|
0 |
0 |
if (ref $item eq 'HASH') { } |
|
0 |
0 |
elsif (not ref $item) { } |
429
|
0 |
0 |
unless defined $item->{'path'} and $item->{'path'} ne '' |
432
|
0 |
0 |
if $item->{'path'} ne '/' and $item->{'path'} =~ qr" ^ / | / $ | // | [?#] "sx |
448
|
0 |
0 |
unless $last_node |
465
|
0 |
0 |
unless $NODE_DEF{$key} |
471
|
0 |
0 |
unless defined $place and $place =~ qr/^[0-9]+$/ |
474
|
0 |
0 |
unless defined $list and $list ne '' |
479
|
0 |
0 |
if $place |
509
|
0 |
0 |
if (ref $item eq 'HASH') { } |
|
0 |
0 |
elsif (not ref $item) { } |
513
|
0 |
0 |
unless defined $item->{'path'} and $item->{'path'} ne '' or defined $item->{'type'} and $item->{'type'} ne '' |
516
|
0 |
0 |
if $item->{'path'} ne '/' and $item->{'path'} =~ qr" ^ / | / $ | // | [?#] "sx |
532
|
0 |
0 |
unless $last_node |
551
|
0 |
0 |
unless $name |
558
|
0 |
0 |
unless $EXTENDED_DEF{$key} |
561
|
0 |
0 |
unless $disp eq '' or $disp eq 'replace' or $disp eq 'add' or $disp eq 'para' |
564
|
0 |
0 |
if ($path) { } |
|
0 |
0 |
elsif ($type eq 'format') { } |
|
0 |
0 |
elsif ($type eq 'vocab') { } |
567
|
0 |
0 |
if $item->{'name'} |
569
|
0 |
0 |
if $type ne 'node' |
573
|
0 |
0 |
unless ref $ds->{'node_attrs'}{$path} eq 'HASH' |
576
|
0 |
0 |
if $disp |
582
|
0 |
0 |
unless $name |
586
|
0 |
0 |
unless ref $ds->{'format'}{$name} eq 'Web::DataService::Format' |
589
|
0 |
0 |
if $disp |
595
|
0 |
0 |
unless $name |
599
|
0 |
0 |
unless ref $ds->{'format'}{$name} eq 'Web::DataService::Vocab' |
602
|
0 |
0 |
if $disp |
608
|
0 |
0 |
unless $type |
611
|
0 |
0 |
if $type eq 'node' |
614
|
0 |
0 |
unless $type eq 'node' or $type eq 'format' or $type eq 'vocab' |
626
|
0 |
0 |
unless defined $doc |
630
|
0 |
0 |
if ref $doc |
642
|
0 |
0 |
unless defined $item->{'doc_string'} |
643
|
0 |
0 |
if $item->{'doc_string'} ne '' |
656
|
0 |
0 |
unless defined $path |
657
|
0 |
0 |
if $path eq '' |
676
|
0 |
19 |
if (ref $path and &reftype($path) eq 'HASH') |
688
|
2 |
17 |
if (exists $ds->{'attr_cache'}{$path}{$key}) |
700
|
0 |
17 |
unless $key and defined $NODE_DEF{$key} |
701
|
0 |
17 |
unless defined $path and $path ne '' |
703
|
0 |
17 |
if $path eq '' |
705
|
0 |
17 |
unless exists $ds->{'node_attrs'}{$path} |
731
|
3 |
21 |
if ($NODE_NONHERITABLE{$key}) |
742
|
19 |
2 |
if (not exists $ds->{'node_attrs'}{$path}{$key} or $ds->{'path_compose'}{$path}{$key}) |
749
|
7 |
12 |
if (defined $parent) { } |
761
|
0 |
12 |
if (defined $config_value) { } |
|
0 |
12 |
elsif (defined $NODE_ATTR_DEFAULT{$key}) { } |
|
0 |
12 |
elsif ($key eq 'allow_method') { } |
|
2 |
10 |
elsif ($key eq 'allow_format') { } |
|
2 |
8 |
elsif ($key eq 'allow_vocab') { } |
799
|
19 |
0 |
unless (exists $ds->{'node_attrs'}{$path}{$key}) |
815
|
0 |
2 |
if ($NODE_DEF{$key} eq 'set') { } |
|
1 |
1 |
elsif ($NODE_DEF{$key} eq 'list') { } |
|
0 |
1 |
elsif ($NODE_DEF{$key} eq 'hook') { } |
817
|
0 |
0 |
ref $inherited_value eq 'HASH' ? : |
822
|
0 |
0 |
unless $v =~ /^([+-])?(.*)/ |
824
|
0 |
0 |
if (defined $1 and $1 eq '-') { } |
846
|
1 |
0 |
if defined $v and $v ne '' |
854
|
0 |
0 |
if (ref $inherited_value eq 'ARRAY' and @$inherited_value) { } |
892
|
0 |
19 |
unless defined $path |
893
|
17 |
2 |
if exists $ds->{'path_parent'}{$path} |
897
|
1 |
1 |
if ($path eq '/' or $path eq '') { } |
|
1 |
0 |
elsif ($path =~ qr" ^ [^/]+ $ "sx) { } |
|
0 |
0 |
elsif ($path =~ qr" ^ (.+) / [^/]+ "sx) { } |
927
|
0 |
3 |
unless defined $doc |
929
|
0 |
3 |
if ref $doc |
935
|
3 |
0 |
unless ($node->{'doc_string'}) |
937
|
0 |
3 |
if ($doc =~ qr/ ^ ! (.*) /sx) |
951
|
3 |
0 |
unless defined $node->{'doc_string'} |
952
|
0 |
3 |
if $node->{'doc_string'} ne '' and $doc ne '' |