| line | % | coverage | branch |
| 1538 | 100 | T | F | if scalar @_ <= 1 |
| 1548 | 100 | T | F | if (ref $args eq 'HASH' or defined $_[2]) { } |
| 1560 | 100 | T | F | if ($params->{'schema_file'}) { } |
| 100 | T | F | elsif ($params->{'input_file'}) { } |
| 50 | T | F | elsif ($params->{'schema'}) { } |
| 1569 | 100 | T | F | if (defined $schema_file) |
| 1576 | 100 | T | F | if (defined $schema_file) { } |
| 1589 | 100 | T | F | if exists $schema->{'cases'} |
| 1590 | 50 | T | F | if exists $schema->{'edge_cases'} |
| 1591 | 100 | T | F | if exists $schema->{'type_edge_cases'} |
| 1593 | 100 | T | F | if exists $schema->{'module'} and length $schema->{'module'} |
| 1594 | 100 | T | F | if exists $schema->{'function'} |
| 1595 | 100 | T | F | if (exists $schema->{'new'}) |
| 1596 | 100 | T | F | defined $schema->{'new'} ? : |
| 1598 | 100 | T | F | if exists $schema->{'yaml_cases'} |
| 1599 | 100 | T | F | if exists $schema->{'seed'} |
| 1600 | 100 | T | F | if exists $schema->{'iterations'} |
| 1602 | 100 | T | F | if exists $schema->{'edge_case_array'} |
| 1605 | 100 | T | F | if exists $schema->{'config'} |
| 1610 | 50 | T | F | if (not $module) { } |
| 100 | T | F | elsif ($module eq $MODULE_BUILTIN) { } |
| 1611 | 0 | T | F | if ($schema_file) |
| 1616 | 0 | T | F | if (_is_perl_builtin($module)) |
| 1624 | 50 | T | F | if ($module and length $module and $module ne "builtin") |
| 1631 | 50 | T | F | if defined $seed and $seed eq "" |
| 1635 | 100 | T | F | if (defined $yaml_cases) |
| 1636 | 100 | T | F | unless -f $yaml_cases |
| 1639 | 50 | T | F | if ($yaml_data and ref $yaml_data eq "HASH") |
| 1645 | 100 | T | F | unless ($outputs and ref $outputs eq "ARRAY") |
| 1658 | 50 | T | F | if (exists $cases{$k} and ref $cases{$k} eq "ARRAY" and ref $yaml_corpus_data{$k} eq "ARRAY") |
| 1663 | 100 | T | F | if (my $hints = delete $schema->{'_yamltest_hints'}) |
| 1664 | 50 | T | F | if (my $boundaries = $hints->{'boundary_values'}) |
| 1667 | 50 | T | F | if (my $invalid = $hints->{'invalid'}) |
| 1673 | 50 | T | F | if ($schema->{'type'} and $schema->{'type'} =~ /^(integer|number|float)$/u) |
| 1675 | 0 | T | F | unless defined $_ |
| 1676 | 0 | T | F | if &Scalar::Util::looks_like_number($_) |
| 1684 | 50 | T | F | if (exists $schema->{'relationships'} and ref $schema->{'relationships'} eq "ARRAY") |
| 1699 | 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') { } |
| 1746 | 100 | T | F | &Scalar::Util::looks_like_number($_) ? : |
| 50 | T | F | defined $_ ? : |
| 1752 | 50 | T | F | unless defined $a |
| 1753 | 50 | T | F | unless defined $b |
| 1758 | 100 | T | F | if $na and $nb |
| 1759 | 50 | T | F | if $na |
| 1760 | 50 | T | F | if $nb |
| 1769 | 100 | T | F | if (scalar @edge_case_array) |
| 1778 | 100 | T | F | if (ref $config{$key} eq "HASH") |
| 1781 | 100 | T | F | if (not defined $config{$key} && $config{$key}) { } |
| 1792 | 100 | T | F | if (scalar keys %input == 1 and exists $input{'type'} and not ref $input{'type'}) { } |
| 1801 | 50 | T | F | if (defined(my $re = $output{'matches'})) |
| 1802 | 0 | T | F | if (ref $re ne "Regexp") |
| 1806 | 0 | T | F | if ($@) { } |
| 1818 | 50 | T | F | if (defined(my $re = $output{'nomatch'})) |
| 1819 | 0 | T | F | if (ref $re ne "Regexp") |
| 1823 | 0 | T | F | if ($@) { } |
| 1832 | 100 | T | F | $new && ref $new eq 'HASH' ? : |
| 1835 | 100 | T | F | if (keys %transforms) |
| 1839 | 100 | T | F | if ($transforms_code) |
| 1856 | 100 | T | F | if (keys %transforms and $config{'properties'}{'enable'} // 0) |
| 1873 | 100 | T | F | if (keys %accessor) |
| 1878 | 50 | T | F | unless (defined $new) |
| 1881 | 50 | T | F | if ($type eq "getset") |
| 1882 | 0 | T | F | if (scalar keys %input != 1) |
| 1885 | 0 | T | F | if (scalar keys %output == 0) |
| 1892 | 100 | T | F | $module ? : |
| 1896 | 100 | T | F | if (defined $new and defined $module) { } |
| 100 | T | F | elsif (defined $module and length $module) { } |
| 1898 | 100 | T | F | if ($new_code eq '') { } |
| 1904 | 100 | T | F | if ($has_positions) { } |
| 1906 | 50 | T | F | if (defined $accessor{'type'}) |
| 1907 | 0 | T | F | if ($accessor{'type'} eq 'getter') { } |
| 0 | T | F | elsif ($accessor{'type'} eq 'getset') { } |
| 1914 | 0 | T | F | if ($accessor{'type'} eq "getset" or $accessor{'type'} eq "getter") |
| 1918 | 0 | T | F | if ($accessor{'type'} eq "getter") |
| 1923 | 0 | T | F | if ($output{'_returns_self'}) |
| 1929 | 50 | T | F | if ($output{'_returns_self'}) { } |
| 50 | T | F | elsif (defined $accessor{'type'} and $accessor{'type'} eq 'getset') { } |
| 1934 | 100 | T | F | if (scalar keys %input == 0) |
| 1935 | 50 | T | F | if (defined $accessor{'type'} and $accessor{'type'} eq "getter") |
| 1941 | 100 | T | F | if ($function eq 'new') { } |
| 1942 | 50 | T | F | if ($has_positions) { } |
| 1948 | 50 | T | F | if ($has_positions) { } |
| 1955 | 100 | T | F | if ($has_positions) { } |
| 1964 | 100 | T | F | if (%all_cases) |
| 1970 | 50 | T | F | unless $inputs |
| 1974 | 50 | T | F | if ($expected_str eq q['_STATUS:DIES']) { } |
| 50 | T | F | elsif ($expected_str eq q['_STATUS:WARNS']) { } |
| 1980 | 50 | T | F | if (ref $inputs eq "HASH") |
| 1984 | 50 | T | F | if (ref $inputs eq 'ARRAY') { } |
| 0 | T | F | elsif (ref $inputs eq 'HASH') { } |
| 1994 | 50 | T | F | if ($input_str eq "undef" and not $config{'test_undef'}) |
| 1997 | 50 | T | F | if ($new) { } |
| 1998 | 0 | T | F | if ($status eq 'DIES') { } |
| 0 | T | F | elsif ($status eq 'WARNS') { } |
| 2009 | 0 | T | F | if (($output{'type'} // '') eq 'boolean') { } |
| 2010 | 0 | T | F | if ($expected_str eq '1') { } |
| 0 | T | F | elsif ($expected_str eq '0') { } |
| 2022 | 50 | T | F | if ($status eq 'DIES') { } |
| 50 | T | F | elsif ($status eq 'WARNS') { } |
| 2023 | 0 | T | F | if ($module) { } |
| 2031 | 0 | T | F | if ($module) { } |
| 2040 | 50 | T | F | ref $inputs eq 'ARRAY' ? : |
| 2043 | 50 | T | F | if (($output{'type'} // '') eq 'boolean') { } |
| 2044 | 0 | T | F | if ($expected_str eq '1') { } |
| 0 | T | F | elsif ($expected_str eq '0') { } |
| 2061 | 100 | T | F | if (defined $seed) |
| 2067 | 100 | T | F | defined $position_code ? : |
| 2103 | 50 | T | F | unless $tt->process($template, $vars, \$test) |
| 2105 | 100 | T | F | if ($test_file) { } |
| 2106 | 50 | T | F | unless &App::Test::Generator::open(my $fh, ">:encoding(UTF-8)", $test_file) |
| 2109 | 100 | T | F | if ($module) { } |
| 2135 | 100 | T | F | unless defined $name |
| 2204 | 100 | T | F | unless defined $schema_file |
| 2206 | 100 | T | F | unless length $schema_file |
| 2210 | 100 | T | F | unless -r $schema_file |
| 2215 | 50 | T | F | if (my $schema = "Config::Abstraction"->new("config_dirs", [".", ""], "config_file", $schema_file, "no_fixate", 1)) |
| 2220 | 50 | T | F | if ($schema = $schema->all) |
| 2223 | 100 | T | F | if (exists $schema->{$LEGACY_PERL_KEY_1} or exists $schema->{$LEGACY_PERL_KEY_2}) |
| 2266 | 100 | T | F | unless exists $schema->{$section} |
| 2270 | 100 | T | F | if ref $schema->{$section} eq "HASH" |
| 2275 | 100 | T | F | if defined $schema->{$section} and $schema->{$section} eq "undef" |
| 2317 | 100 | T | F | unless (defined $schema->{'module'} or defined $schema->{'function'}) |
| 2323 | 100 | T | F | unless (defined $schema->{'input'} or defined $schema->{'output'}) |
| 2328 | 100 | T | F | if ($schema->{'input'} and ref $schema->{'input'} ne "HASH") |
| 2329 | 100 | T | F | if ($schema->{'input'} eq 'undef') { } |
| 2337 | 100 | T | F | if ($schema->{'input'}) |
| 2344 | 100 | T | F | if (exists $schema->{'transforms'} and ref $schema->{'transforms'} eq "HASH") |
| 2349 | 100 | T | F | if (ref $schema->{'config'} eq "HASH") |
| 2353 | 100 | T | F | unless grep {$_ eq $k;} ('test_nuls', 'test_undef', 'test_empty', 'test_non_ascii', 'dedup', 'properties', 'close_stdin', 'test_security') |
| 2376 | 100 | T | F | unless length $param |
| 2382 | 100 | T | F | if (ref $spec) { } |
| 2384 | 100 | T | F | unless defined $spec->{'type'} |
| 2386 | 100 | T | F | unless _valid_type($spec->{'type'}) |
| 2388 | 50 | T | F | unless _valid_type($spec) |
| 2420 | 100 | T | F | unless ref $spec eq "HASH" and defined $spec->{'position'} |
| 2426 | 100 | T | F | unless $pos =~ /^\d+$/u |
| 2431 | 100 | T | F | if exists $positions{$pos} |
| 2437 | 100 | T | F | if ($has_positions) |
| 2440 | 100 | T | F | unless (ref $spec eq "HASH" and defined $spec->{'position'}) |
| 2450 | 100 | T | F | if ($sorted[$i] != $i) |
| 2479 | 100 | T | F | unless ref $spec eq "HASH" |
| 2483 | 100 | T | F | if (defined $spec->{'semantic'}) |
| 2485 | 100 | T | F | unless (exists $semantic_generators->{$semantic}) |
| 2494 | 100 | T | F | if ($spec->{'enum'} and $spec->{'memberof'}) |
| 2500 | 100 | T | F | if (exists $spec->{$type}) |
| 2502 | 100 | T | F | unless ref $spec->{$type} eq "ARRAY" |
| 2532 | 100 | T | F | unless exists $transform->{'properties'} |
| 2535 | 100 | T | F | unless ref $transform->{'properties'} eq "ARRAY" |
| 2538 | 100 | T | F | if (not ref $prop) { } |
| 100 | T | F | elsif (ref $prop eq 'HASH') { } |
| 2540 | 100 | T | F | unless (exists $builtin_props->{$prop}) |
| 2547 | 100 | T | F | unless ($prop->{'name'} and $prop->{'code'}) |
| 2591 | 100 | T | F | if $field eq $CONFIG_PROPERTIES_KEY |
| 2593 | 100 | T | F | if (exists $config->{$field} and defined $config->{$field}) { } |
| 2596 | 50 | T | F | if (defined(my $b = $Readonly::Values::Boolean::booleans{$config->{$field}})) |
| 2609 | 100 | T | F | unless ref $config->{$CONFIG_PROPERTIES_KEY} eq "HASH" |
| 2643 | 100 | T | F | unless defined $type |
| 2706 | 100 | T | F | unless $module |
| 2711 | 100 | T | F | if ($schema_file and not $mod_info) |
| 2726 | 50 | T | F | if ($verbose) |
| 2735 | 50 | T | F | if ($ENV{$ENV_VALIDATE_LOAD}) |
| 2738 | 0 | T | F | unless ($loaded) |
| 2747 | 0 | T | F | if ($verbose) |
| 2808 | 100 | T | F | unless defined $v |
| 2882 | 100 | T | F | unless $href and ref $href eq "HASH" |
| 2892 | 100 | T | F | unless (defined $def and ref $def eq "HASH") |
| 2893 | 100 | T | F | if (defined $def and not ref $def and _valid_type($def)) { } |
| 2906 | 100 | T | F | unless defined $def->{$subk} |
| 2910 | 50 | T | F | if (ref $def->{$subk}) |
| 2911 | 0 | T | F | unless (ref $def->{$subk} eq "ARRAY" or ref $def->{$subk} eq "Regexp") |
| 2924 | 100 | T | F | if ($subk eq $KEY_MATCHES or $subk eq $KEY_NOMATCH) { } |
| 2927 | 50 | T | F | ref $def->{$subk} eq 'Regexp' ? : |
| 2928 | 50 | T | F | if ($@ or not defined $re) |
| 2999 | 100 | T | F | unless $href and ref $href eq "HASH" |
| 3063 | 100 | T | F | unless $href and ref $href eq "HASH" |
| 3071 | 100 | T | F | unless ref $aref eq "ARRAY" |
| 3110 | 100 | T | F | unless defined $input_spec and ref $input_spec eq "HASH" |
| 3115 | 100 | T | F | unless ref $input_spec->{$field} eq "HASH" |
| 3118 | 100 | T | F | if defined $input_spec->{$field}{'position'} |
| 3159 | 100 | T | F | unless defined $s |
| 3167 | 100 | T | F | unless $s =~ /\Q$l\E|\Q$r\E/u |
| 3175 | 100 | T | F | if index($s, $d) == $INDEX_NOT_FOUND |
| 3214 | 100 | T | F | unless defined $s |
| 3269 | 100 | T | F | unless defined $v |
| 3273 | 100 | T | F | if $v eq "true" |
| 3274 | 100 | T | F | if $v eq "false" |
| 3276 | 100 | T | F | if (ref $v) |
| 3278 | 100 | T | F | if (ref $v eq "ARRAY") |
| 3284 | 100 | T | F | if (ref $v eq "Regexp") |
| 3289 | 100 | T | F | if $mods |
| 3300 | 100 | T | F | &looks_like_number($v) ? : |
| 3367 | 100 | T | F | if (not defined $input_spec or not ref $input_spec and $input_spec eq "undef") |
| 3376 | 100 | T | F | unless ref $input_spec eq "HASH" |
| 3392 | 50 | T | F | if (exists $transform->{'properties'} and ref $transform->{'properties'} eq "ARRAY") |
| 3409 | 50 | T | F | unless @all_props |
| 3421 | 50 | T | F | unless ref $spec eq "HASH" |
| 3424 | 50 | T | F | if (defined $gen and length $gen) |
| 3439 | 100 | T | F | if ($module and defined $new) { } |
| 50 | T | F | elsif ($module and $module ne $MODULE_BUILTIN) { } |
| 3454 | 50 | T | F | if (_has_positions($input_spec)) { } |
| 3964 | 100 | T | F | unless defined $spec and ref $spec eq "HASH" |
| 3974 | 100 | T | F | if ($type eq "string" and defined $spec->{'semantic'}) |
| 3978 | 50 | T | F | if (exists $generators->{$semantic_type}) { } |
| 3998 | 100 | T | F | if ($type eq "integer") |
| 4002 | 100 | T | F | if (not defined $min || defined $max) { } |
| 50 | T | F | elsif (not defined $min) { } |
| 50 | T | F | elsif (not defined $max) { } |
| 4021 | 100 | T | F | if ($type eq "number" or $type eq "float") |
| 4025 | 100 | T | F | if (not defined $min || defined $max) { } |
| 100 | T | F | elsif (not defined $min) { } |
| 100 | T | F | elsif (not defined $max) { } |
| 4031 | 50 | T | F | if ($max == $ZERO_BOUNDARY) { } |
| 0 | T | F | elsif ($max > $ZERO_BOUNDARY) { } |
| 4044 | 50 | T | F | if ($min == $ZERO_BOUNDARY) { } |
| 0 | T | F | elsif ($min > $ZERO_BOUNDARY) { } |
| 4058 | 50 | T | F | if ($range <= $ZERO_BOUNDARY) |
| 4071 | 100 | T | F | if ($type eq "string") |
| 4077 | 100 | T | F | if (defined $spec->{'matches'}) |
| 4080 | 50 | T | F | if (defined $spec->{'max'}) { } |
| 50 | T | F | elsif (defined $spec->{'min'}) { } |
| 4095 | 100 | T | F | if ($type eq "boolean") |
| 4102 | 100 | T | F | if ($type eq "arrayref") |
| 4113 | 50 | T | F | if ($type eq "hashref") |
| 4253 | 100 | T | F | unless defined $spec and ref $spec eq "HASH" |
| 4257 | 100 | T | F | if defined $spec->{'type'} |
| 4262 | 100 | T | F | unless ref $spec->{$field} eq "HASH" |
| 4264 | 50 | T | F | if defined $spec->{$field}{'type'} |
| 4308 | 100 | T | F | unless defined $properties and ref $properties eq "ARRAY" |
| 4309 | 100 | T | F | unless @{$properties;} |
| 4321 | 100 | T | F | if ($prop->{'should_die'}) { } |
| 4385 | 100 | T | F | unless defined $input_spec |
| 4386 | 100 | T | F | if not ref $input_spec and $input_spec eq "undef" |
| 4395 | 100 | T | F | if (_is_numeric_transform($input_spec, $output_spec)) |
| 4396 | 100 | T | F | if (defined $output_spec->{'min'}) |
| 4404 | 100 | T | F | if (defined $output_spec->{'max'}) |
| 4414 | 100 | T | F | if ($transform_name =~ /$TRANSFORM_POSITIVE_PATTERN/iu) |
| 4425 | 100 | T | F | if (defined $output_spec->{'value'}) |
| 4430 | 50 | T | F | ref $expected ? : |
| 4441 | 100 | T | F | if (_is_string_transform($input_spec, $output_spec)) |
| 4442 | 100 | T | F | if (defined $output_spec->{'min'}) |
| 4449 | 50 | T | F | if (defined $output_spec->{'max'}) |
| 4456 | 50 | T | F | if (defined $output_spec->{'matches'}) |
| 4468 | 100 | T | F | if (_same_type($input_spec, $output_spec)) |
| 4473 | 100 | T | F | if ($type eq "number" or $type eq "integer" or $type eq "float") |
| 4487 | 100 | T | F | unless (($output_spec->{'type'} // "") eq "undef") |
| 4553 | 100 | T | F | if (not ref $prop_def) { } |
| 100 | T | F | elsif (ref $prop_def eq 'HASH') { } |
| 4557 | 100 | T | F | unless (exists $builtin_properties->{$prop_name}) |
| 4567 | 50 | T | F | if (_has_positions($input_spec)) { } |
| 4578 | 50 | T | F | if ($module and defined $new) { } |
| 50 | T | F | elsif ($module and $module ne $MODULE_BUILTIN) { } |
| 4602 | 100 | T | F | unless ($prop_code) |
| 4609 | 50 | T | F | unless ($prop_code =~ /\$/u or $prop_code =~ /\w+/u) |