| line | % | coverage | branch |
| 1617 | 50 | T | F | if scalar @_ == 0 |
| 1623 | 50 | T | F | ref $_[0] ne 'HASH' ? : |
| 1629 | 100 | T | F | if (ref $_[0] eq 'HASH' or defined $_[2]) { } |
| 1641 | 100 | T | F | if ($params->{'schema_file'}) { } |
| 100 | T | F | elsif ($params->{'input_file'}) { } |
| 50 | T | F | elsif ($params->{'schema'}) { } |
| 1650 | 100 | T | F | if (defined $schema_file) |
| 1657 | 100 | T | F | if (defined $schema_file) { } |
| 1670 | 100 | T | F | if exists $schema->{'cases'} |
| 1671 | 50 | T | F | if exists $schema->{'edge_cases'} |
| 1672 | 100 | T | F | if exists $schema->{'type_edge_cases'} |
| 1674 | 100 | T | F | if exists $schema->{'module'} and length $schema->{'module'} |
| 1675 | 100 | T | F | if exists $schema->{'function'} |
| 1676 | 100 | T | F | if (exists $schema->{'new'}) |
| 1677 | 100 | T | F | defined $schema->{'new'} ? : |
| 1679 | 100 | T | F | if exists $schema->{'yaml_cases'} |
| 1680 | 100 | T | F | if exists $schema->{'seed'} |
| 1681 | 100 | T | F | if exists $schema->{'iterations'} |
| 1683 | 100 | T | F | if exists $schema->{'edge_case_array'} |
| 1686 | 100 | T | F | if exists $schema->{'config'} |
| 1691 | 100 | T | F | if (not $module) { } |
| 100 | T | F | elsif ($module eq $MODULE_BUILTIN) { } |
| 1692 | 100 | T | F | if ($schema_file) |
| 1697 | 100 | T | F | if (_is_perl_builtin($module)) |
| 1705 | 50 | T | F | if ($module and length $module and $module ne "builtin") |
| 1712 | 100 | T | F | if defined $module and length $module |
| 1721 | 50 | T | F | if defined $seed and $seed eq "" |
| 1725 | 100 | T | F | if (defined $yaml_cases) |
| 1726 | 100 | T | F | unless -f $yaml_cases |
| 1729 | 50 | T | F | if ($yaml_data and ref $yaml_data eq "HASH") |
| 1735 | 100 | T | F | unless ($outputs and ref $outputs eq "ARRAY") |
| 1748 | 50 | T | F | if (exists $cases{$k} and ref $cases{$k} eq "ARRAY" and ref $yaml_corpus_data{$k} eq "ARRAY") |
| 1753 | 100 | T | F | if (my $hints = delete $schema->{'_yamltest_hints'}) |
| 1754 | 50 | T | F | if (my $boundaries = $hints->{'boundary_values'}) |
| 1757 | 50 | T | F | if (my $invalid = $hints->{'invalid'}) |
| 1763 | 100 | T | F | if ($schema->{'type'} and $schema->{'type'} =~ /^(integer|number|float)$/u) |
| 1765 | 50 | T | F | unless defined $_ |
| 1766 | 100 | T | F | if &Scalar::Util::looks_like_number($_) |
| 1774 | 50 | T | F | if (exists $schema->{'relationships'} and ref $schema->{'relationships'} eq "ARRAY") |
| 1789 | 0 | T | F | if ($type eq 'mutually_exclusive') { } |
| 0 | T | F | elsif ($type eq 'required_group') { } |
| 0 | T | F | elsif ($type eq 'conditional_requirement') { } |
| 0 | T | F | elsif ($type eq 'dependency') { } |
| 0 | T | F | elsif ($type eq 'value_constraint') { } |
| 0 | T | F | elsif ($type eq 'value_conditional') { } |
| 1836 | 100 | T | F | &Scalar::Util::looks_like_number($_) ? : |
| 50 | T | F | defined $_ ? : |
| 1842 | 50 | T | F | unless defined $a |
| 1843 | 50 | T | F | unless defined $b |
| 1848 | 100 | T | F | if $na and $nb |
| 1849 | 100 | T | F | if $na |
| 1850 | 100 | T | F | if $nb |
| 1859 | 100 | T | F | if (scalar @edge_case_array) |
| 1868 | 100 | T | F | if (ref $config{$key} eq "HASH") |
| 1871 | 100 | T | F | if (not defined $config{$key} && $config{$key}) { } |
| 1882 | 100 | T | F | if (scalar keys %input == 1 and exists $input{'type'} and not ref $input{'type'}) { } |
| 1891 | 50 | T | F | if (defined(my $re = $output{'matches'})) |
| 1892 | 0 | T | F | if (ref $re ne "Regexp") |
| 1896 | 0 | T | F | if ($@) { } |
| 1908 | 50 | T | F | if (defined(my $re = $output{'nomatch'})) |
| 1909 | 0 | T | F | if (ref $re ne "Regexp") |
| 1913 | 0 | T | F | if ($@) { } |
| 1922 | 100 | T | F | $new && ref $new eq 'HASH' ? : |
| 1925 | 100 | T | F | if (keys %transforms) |
| 1929 | 100 | T | F | if ($transforms_code) |
| 1946 | 100 | T | F | if (keys %transforms and $config{'properties'}{'enable'} // 0) |
| 1963 | 100 | T | F | if (keys %accessor) |
| 1968 | 50 | T | F | unless (defined $new) |
| 1973 | 100 | T | F | if ($type eq "getset") |
| 1974 | 100 | T | F | if (scalar keys %input != 1) |
| 1977 | 100 | T | F | if (scalar keys %output == 0) |
| 1984 | 100 | T | F | $module ? : |
| 1988 | 100 | T | F | if (defined $new and defined $module) { } |
| 100 | T | F | elsif (defined $module and length $module) { } |
| 1990 | 100 | T | F | if ($new_code eq '') { } |
| 1996 | 100 | T | F | if ($has_positions) { } |
| 1998 | 50 | T | F | if (defined $accessor{'type'}) |
| 1999 | 0 | T | F | if ($accessor{'type'} eq 'getter') { } |
| 0 | T | F | elsif ($accessor{'type'} eq 'getset') { } |
| 2006 | 0 | T | F | if ($accessor{'type'} eq "getset" or $accessor{'type'} eq "getter") |
| 2010 | 0 | T | F | if ($accessor{'type'} eq "getter") |
| 2015 | 0 | T | F | if ($output{'_returns_self'}) |
| 2021 | 50 | T | F | if ($output{'_returns_self'}) { } |
| 100 | T | F | elsif (defined $accessor{'type'} and $accessor{'type'} eq 'getset') { } |
| 2026 | 100 | T | F | if (scalar keys %input == 0) |
| 2027 | 100 | T | F | if (defined $accessor{'type'} and $accessor{'type'} eq "getter") |
| 2033 | 100 | T | F | if ($function eq 'new') { } |
| 2034 | 50 | T | F | if ($has_positions) { } |
| 2040 | 100 | T | F | if ($has_positions) { } |
| 2047 | 100 | T | F | if ($has_positions) { } |
| 2056 | 100 | T | F | if (($output{'type'} // "") eq "array") |
| 2057 | 50 | T | F | if (defined $call_code) |
| 2060 | 50 | T | F | if (defined $position_code) |
| 2067 | 100 | T | F | if (%all_cases) |
| 2073 | 50 | T | F | unless $inputs |
| 2077 | 50 | T | F | if ($expected_str eq q['_STATUS:DIES']) { } |
| 50 | T | F | elsif ($expected_str eq q['_STATUS:WARNS']) { } |
| 2083 | 50 | T | F | if (ref $inputs eq "HASH") |
| 2087 | 50 | T | F | if (ref $inputs eq 'ARRAY') { } |
| 0 | T | F | elsif (ref $inputs eq 'HASH') { } |
| 2100 | 50 | T | F | if ($input_str eq "undef" and not $config{'test_undef'}) |
| 2103 | 50 | T | F | if ($new) { } |
| 2104 | 0 | T | F | if ($status eq 'DIES') { } |
| 0 | T | F | elsif ($status eq 'WARNS') { } |
| 2115 | 0 | T | F | if (($output{'type'} // '') eq 'boolean') { } |
| 2116 | 0 | T | F | if ($expected_str eq '1') { } |
| 0 | T | F | elsif ($expected_str eq '0') { } |
| 2128 | 50 | T | F | if ($status eq 'DIES') { } |
| 50 | T | F | elsif ($status eq 'WARNS') { } |
| 2129 | 0 | T | F | if ($module) { } |
| 2137 | 0 | T | F | if ($module) { } |
| 2146 | 50 | T | F | ref $inputs eq 'ARRAY' ? : |
| 2149 | 50 | T | F | if (($output{'type'} // '') eq 'boolean') { } |
| 2150 | 0 | T | F | if ($expected_str eq '1') { } |
| 0 | T | F | elsif ($expected_str eq '0') { } |
| 2167 | 100 | T | F | if (defined $seed) |
| 2173 | 100 | T | F | defined $position_code ? : |
| 2209 | 50 | T | F | unless $tt->process($template, $vars, \$test) |
| 2211 | 100 | T | F | if ($test_file) { } |
| 2216 | 50 | T | F | unless open my $fh, ">:encoding(UTF-8)", $test_file |
| 2219 | 100 | T | F | if ($module) { } |
| 2244 | 100 | T | F | unless defined $name |
| 2313 | 100 | T | F | unless defined $schema_file |
| 2315 | 100 | T | F | unless length $schema_file |
| 2319 | 100 | T | F | unless -r $schema_file |
| 2324 | 50 | T | F | if (my $schema = "Config::Abstraction"->new("config_dirs", [".", ""], "config_file", $schema_file, "no_fixate", 1)) |
| 2329 | 50 | T | F | if ($schema = $schema->all) |
| 2332 | 100 | T | F | if (exists $schema->{$LEGACY_PERL_KEY_1} or exists $schema->{$LEGACY_PERL_KEY_2}) |
| 2373 | 100 | T | F | unless exists $schema->{$section} |
| 2377 | 100 | T | F | if ref $schema->{$section} eq "HASH" |
| 2382 | 100 | T | F | if defined $schema->{$section} and $schema->{$section} eq "undef" |
| 2424 | 100 | T | F | unless (defined $schema->{'module'} or defined $schema->{'function'}) |
| 2430 | 100 | T | F | unless (defined $schema->{'input'} or defined $schema->{'output'}) |
| 2435 | 100 | T | F | if ($schema->{'input'} and ref $schema->{'input'} ne "HASH") |
| 2436 | 100 | T | F | if ($schema->{'input'} eq 'undef') { } |
| 2444 | 100 | T | F | if ($schema->{'input'}) |
| 2451 | 100 | T | F | if (exists $schema->{'transforms'} and ref $schema->{'transforms'} eq "HASH") |
| 2456 | 100 | T | F | if (ref $schema->{'config'} eq "HASH") |
| 2460 | 100 | T | F | unless $VALID_CONFIG_KEYS{$k} |
| 2482 | 100 | T | F | unless length $param |
| 2488 | 100 | T | F | if (ref $spec) { } |
| 2490 | 100 | T | F | unless defined $spec->{'type'} |
| 2492 | 50 | T | F | if $spec->{'type'} eq "coderef" |
| 2494 | 100 | T | F | unless _valid_type($spec->{'type'}) |
| 2496 | 50 | T | F | unless _valid_type($spec) |
| 2527 | 100 | T | F | unless ref $spec eq "HASH" and defined $spec->{'position'} |
| 2533 | 100 | T | F | unless $pos =~ /^\d+$/u |
| 2538 | 100 | T | F | if exists $positions{$pos} |
| 2544 | 100 | T | F | if ($has_positions) |
| 2547 | 100 | T | F | unless (ref $spec eq "HASH" and defined $spec->{'position'}) |
| 2557 | 100 | T | F | if ($sorted[$i] != $i) |
| 2585 | 100 | T | F | unless ref $spec eq "HASH" |
| 2589 | 100 | T | F | if (defined $spec->{'semantic'}) |
| 2591 | 100 | T | F | unless (exists $semantic_generators->{$semantic}) |
| 2600 | 100 | T | F | if ($spec->{'enum'} and $spec->{'memberof'}) |
| 2606 | 100 | T | F | if (exists $spec->{$type}) |
| 2608 | 100 | T | F | unless ref $spec->{$type} eq "ARRAY" |
| 2637 | 100 | T | F | unless exists $transform->{'properties'} |
| 2640 | 100 | T | F | unless ref $transform->{'properties'} eq "ARRAY" |
| 2643 | 100 | T | F | if (not ref $prop) { } |
| 100 | T | F | elsif (ref $prop eq 'HASH') { } |
| 2645 | 100 | T | F | unless (exists $builtin_props->{$prop}) |
| 2652 | 100 | T | F | unless ($prop->{'name'} and $prop->{'code'}) |
| 2695 | 100 | T | F | if $field eq $CONFIG_PROPERTIES_KEY |
| 2696 | 100 | T | F | if $field eq "timeout" |
| 2698 | 100 | T | F | if (exists $config->{$field} and defined $config->{$field}) { } |
| 2701 | 50 | T | F | if (defined(my $b = $Readonly::Values::Boolean::booleans{$config->{$field}})) |
| 2714 | 100 | T | F | unless ref $config->{$CONFIG_PROPERTIES_KEY} eq "HASH" |
| 2746 | 100 | T | F | unless defined $type |
| 2787 | 100 | T | F | unless defined $name and length $name |
| 2791 | 100 | T | F | $opts{'package'} ? : |
| 2794 | 100 | T | F | unless $name =~ /$re/u |
| 2851 | 100 | T | F | unless $module |
| 2856 | 100 | T | F | if ($schema_file and not $mod_info) |
| 2871 | 50 | T | F | if ($verbose) |
| 2880 | 100 | T | F | if ($ENV{$ENV_VALIDATE_LOAD}) |
| 2883 | 50 | T | F | unless ($loaded) |
| 2892 | 50 | T | F | if ($verbose) |
| 2953 | 100 | T | F | unless defined $v |
| 3024 | 100 | T | F | unless $href and ref $href eq "HASH" |
| 3034 | 100 | T | F | unless (defined $def and ref $def eq "HASH") |
| 3035 | 100 | T | F | if (defined $def and not ref $def and _valid_type($def)) { } |
| 3048 | 100 | T | F | unless defined $def->{$subk} |
| 3052 | 50 | T | F | if (ref $def->{$subk}) |
| 3053 | 0 | T | F | unless (ref $def->{$subk} eq "ARRAY" or ref $def->{$subk} eq "Regexp") |
| 3066 | 100 | T | F | if ($subk eq $KEY_MATCHES or $subk eq $KEY_NOMATCH) { } |
| 3069 | 50 | T | F | ref $def->{$subk} eq 'Regexp' ? : |
| 3070 | 50 | T | F | if ($@ or not defined $re) |
| 3137 | 100 | T | F | unless $href and ref $href eq "HASH" |
| 3197 | 100 | T | F | unless $href and ref $href eq "HASH" |
| 3205 | 100 | T | F | unless ref $aref eq "ARRAY" |
| 3242 | 100 | T | F | unless defined $input_spec and ref $input_spec eq "HASH" |
| 3247 | 100 | T | F | unless ref $input_spec->{$field} eq "HASH" |
| 3250 | 100 | T | F | if defined $input_spec->{$field}{'position'} |
| 3282 | 50 | T | F | if ref $s |
| 3291 | 100 | T | F | unless defined $s |
| 3299 | 100 | T | F | unless $s =~ /\Q$l\E|\Q$r\E/u |
| 3307 | 100 | T | F | if index($s, $d) == $INDEX_NOT_FOUND |
| 3342 | 50 | T | F | if ref $s |
| 3346 | 100 | T | F | unless defined $s |
| 3410 | 100 | T | F | if $depth > 100 |
| 3413 | 100 | T | F | unless defined $v |
| 3417 | 100 | T | F | if $v eq "true" |
| 3418 | 100 | T | F | if $v eq "false" |
| 3420 | 100 | T | F | if (ref $v) |
| 3422 | 100 | T | F | if (ref $v eq "ARRAY") |
| 3428 | 100 | T | F | if (ref $v eq "Regexp") |
| 3433 | 100 | T | F | if $mods |
| 3444 | 100 | T | F | &looks_like_number($v) ? : |
| 3515 | 100 | T | F | if (not defined $input_spec or not ref $input_spec and $input_spec eq "undef") |
| 3524 | 100 | T | F | unless ref $input_spec eq "HASH" |
| 3540 | 50 | T | F | if (exists $transform->{'properties'} and ref $transform->{'properties'} eq "ARRAY") |
| 3557 | 50 | T | F | unless @all_props |
| 3569 | 50 | T | F | unless ref $spec eq "HASH" |
| 3578 | 50 | T | F | if (defined $gen and length $gen) |
| 3593 | 100 | T | F | if ($module and defined $new) { } |
| 50 | T | F | elsif ($module and $module ne $MODULE_BUILTIN) { } |
| 3608 | 50 | T | F | if (_has_positions($input_spec)) { } |
| 4073 | 100 | T | F | unless defined $spec and ref $spec eq "HASH" |
| 4083 | 100 | T | F | if ($type eq "string" and defined $spec->{'semantic'}) |
| 4087 | 50 | T | F | if (exists $generators->{$semantic_type}) { } |
| 4107 | 100 | T | F | if ($type eq "integer") |
| 4111 | 100 | T | F | if (not defined $min || defined $max) { } |
| 100 | T | F | elsif (not defined $min) { } |
| 100 | T | F | elsif (not defined $max) { } |
| 4130 | 100 | T | F | if ($type eq "number" or $type eq "float") |
| 4134 | 100 | T | F | if (not defined $min || defined $max) { } |
| 100 | T | F | elsif (not defined $min) { } |
| 100 | T | F | elsif (not defined $max) { } |
| 4140 | 100 | T | F | if ($max == $ZERO_BOUNDARY) { } |
| 100 | T | F | elsif ($max > $ZERO_BOUNDARY) { } |
| 4153 | 100 | T | F | if ($min == $ZERO_BOUNDARY) { } |
| 100 | T | F | elsif ($min > $ZERO_BOUNDARY) { } |
| 4167 | 100 | T | F | if ($range <= $ZERO_BOUNDARY) |
| 4180 | 100 | T | F | if ($type eq "string") |
| 4186 | 100 | T | F | if (defined $spec->{'matches'}) |
| 4196 | 100 | T | F | ref $pattern eq 'Regexp' ? : |
| 4197 | 50 | T | F | if ($@ or not defined $compiled) |
| 4204 | 100 | T | F | if (defined $spec->{'max'}) { } |
| 100 | T | F | elsif (defined $spec->{'min'}) { } |
| 4219 | 100 | T | F | if ($type eq "boolean") |
| 4226 | 100 | T | F | if ($type eq "arrayref") |
| 4237 | 100 | T | F | if ($type eq "hashref") |
| 4369 | 100 | T | F | unless defined $spec and ref $spec eq "HASH" |
| 4373 | 100 | T | F | if defined $spec->{'type'} |
| 4378 | 100 | T | F | unless ref $spec->{$field} eq "HASH" |
| 4380 | 100 | T | F | if defined $spec->{$field}{'type'} |
| 4422 | 100 | T | F | unless defined $properties and ref $properties eq "ARRAY" |
| 4423 | 100 | T | F | unless @{$properties;} |
| 4435 | 100 | T | F | if ($prop->{'should_die'}) { } |
| 4497 | 100 | T | F | unless defined $input_spec |
| 4498 | 100 | T | F | if not ref $input_spec and $input_spec eq "undef" |
| 4507 | 100 | T | F | if (_is_numeric_transform($input_spec, $output_spec)) |
| 4508 | 100 | T | F | if (defined $output_spec->{'min'}) |
| 4516 | 100 | T | F | if (defined $output_spec->{'max'}) |
| 4526 | 100 | T | F | if ($transform_name =~ /$TRANSFORM_POSITIVE_PATTERN/iu) |
| 4537 | 100 | T | F | if (defined $output_spec->{'value'}) |
| 4542 | 50 | T | F | ref $expected ? : |
| 4553 | 100 | T | F | if (_is_string_transform($input_spec, $output_spec)) |
| 4554 | 100 | T | F | if (defined $output_spec->{'min'}) |
| 4561 | 50 | T | F | if (defined $output_spec->{'max'}) |
| 4568 | 50 | T | F | if (defined $output_spec->{'matches'}) |
| 4575 | 0 | T | F | ref $pattern eq 'Regexp' ? : |
| 4576 | 0 | T | F | if ($@ or not defined $compiled) { } |
| 4592 | 100 | T | F | if (_same_type($input_spec, $output_spec)) |
| 4597 | 100 | T | F | if ($type eq "number" or $type eq "integer" or $type eq "float") |
| 4611 | 100 | T | F | unless (($output_spec->{'type'} // "") eq "undef") |
| 4677 | 100 | T | F | if (not ref $prop_def) { } |
| 100 | T | F | elsif (ref $prop_def eq 'HASH') { } |
| 4681 | 100 | T | F | unless (exists $builtin_properties->{$prop_name}) |
| 4691 | 50 | T | F | if (_has_positions($input_spec)) { } |
| 4702 | 50 | T | F | if ($module and defined $new) { } |
| 50 | T | F | elsif ($module and $module ne $MODULE_BUILTIN) { } |
| 4726 | 100 | T | F | unless ($prop_code) |
| 4733 | 50 | T | F | unless ($prop_code =~ /\$/u or $prop_code =~ /\w+/u) |