| line | % | coverage | branch |
| 1232 | 50 | T | F | if ($_[0] and $_[0] eq __PACKAGE__) |
| 1243 | 50 | T | F | if (ref $args or defined $_[2]) { } |
| 1254 | 0 | T | F | if ($params->{'input_file'}) { } |
| 0 | T | F | elsif ($params->{'schema'}) { } |
| 1265 | 100 | T | F | if (defined $schema_file) { } |
| 1267 | 50 | T | F | unless (defined $schema) |
| 1280 | 100 | T | F | if exists $schema->{'cases'} |
| 1281 | 50 | T | F | if exists $schema->{'edge_cases'} |
| 1282 | 50 | T | F | if exists $schema->{'type_edge_cases'} |
| 1284 | 50 | T | F | if exists $schema->{'module'} and length $schema->{'module'} |
| 1285 | 50 | T | F | if exists $schema->{'function'} |
| 1286 | 100 | T | F | if (exists $schema->{'new'}) |
| 1287 | 100 | T | F | defined $schema->{'new'} ? : |
| 1289 | 100 | T | F | if exists $schema->{'yaml_cases'} |
| 1290 | 50 | T | F | if exists $schema->{'seed'} |
| 1291 | 100 | T | F | if exists $schema->{'iterations'} |
| 1293 | 100 | T | F | if exists $schema->{'edge_case_array'} |
| 1296 | 100 | T | F | if exists $schema->{'config'} |
| 1301 | 50 | T | F | if (not $module) { } |
| 100 | T | F | elsif ($module eq 'builtin') { } |
| 1302 | 0 | T | F | if ($schema_file) |
| 1310 | 50 | T | F | if ($module and length $module and $module ne "builtin") |
| 1317 | 50 | T | F | if defined $seed and $seed eq "" |
| 1321 | 100 | T | F | if (defined $yaml_cases) |
| 1322 | 100 | T | F | unless -f $yaml_cases |
| 1325 | 50 | T | F | if ($yaml_data and ref $yaml_data eq "HASH") |
| 1331 | 100 | T | F | unless ($outputs and ref $outputs eq "ARRAY") |
| 1337 | 100 | T | F | if $valid_input |
| 1345 | 50 | T | F | if (exists $cases{$k} and ref $cases{$k} eq "ARRAY" and ref $yaml_corpus_data{$k} eq "ARRAY") |
| 1350 | 50 | T | F | if (my $hints = delete $schema->{'_yamltest_hints'}) |
| 1351 | 0 | T | F | if (my $boundaries = $hints->{'boundary_values'}) |
| 1354 | 0 | T | F | if (my $invalid = $hints->{'invalid'}) |
| 1360 | 50 | T | F | if ($schema->{'type'} and $schema->{'type'} =~ /^(integer|number|float)$/u) |
| 1362 | 0 | T | F | unless defined $_ |
| 1363 | 0 | T | F | if &Scalar::Util::looks_like_number($_) |
| 1370 | 50 | T | F | &Scalar::Util::looks_like_number($_) ? : |
| 50 | T | F | defined $_ ? : |
| 1376 | 50 | T | F | unless defined $a |
| 1377 | 50 | T | F | unless defined $b |
| 1382 | 50 | T | F | if $na and $nb |
| 1383 | 50 | T | F | if $na |
| 1384 | 50 | T | F | if $nb |
| 1399 | 100 | T | F | if (scalar @edge_case_array) |
| 1408 | 100 | T | F | if (ref $config{$key} eq "HASH") |
| 1411 | 100 | T | F | if (not defined $config{$key} && $config{$key}) { } |
| 1422 | 100 | T | F | if (scalar keys %input == 1 and exists $input{'type'} and not ref $input{'type'}) { } |
| 1431 | 50 | T | F | if (defined(my $re = $output{'matches'})) |
| 1432 | 0 | T | F | if (ref $re ne "Regexp") |
| 1438 | 100 | T | F | $new && ref $new eq 'HASH' ? : |
| 1441 | 100 | T | F | if (keys %transforms) |
| 1445 | 100 | T | F | if ($transforms_code) |
| 1462 | 50 | T | F | if (keys %transforms and $config{'properties'}{'enable'} // 0) |
| 1480 | 100 | T | F | $module ? : |
| 1484 | 100 | T | F | if (defined $new) { } |
| 100 | T | F | elsif (defined $module and length $module) { } |
| 1486 | 100 | T | F | if ($new_code eq '') { } |
| 1491 | 50 | T | F | if ($has_positions) { } |
| 1495 | 50 | T | F | if ($output{'_returns_self'}) |
| 1500 | 50 | T | F | if ($function eq 'new') { } |
| 1501 | 0 | T | F | if ($has_positions) { } |
| 1507 | 50 | T | F | if ($has_positions) { } |
| 1514 | 100 | T | F | if ($has_positions) { } |
| 1523 | 100 | T | F | if (%all_cases) |
| 1529 | 50 | T | F | unless $inputs |
| 1533 | 50 | T | F | if ($expected_str eq q['_STATUS:DIES']) { } |
| 50 | T | F | elsif ($expected_str eq q['_STATUS:WARNS']) { } |
| 1539 | 50 | T | F | if (ref $inputs eq "HASH") |
| 1543 | 50 | T | F | if (ref $inputs eq 'ARRAY') { } |
| 0 | T | F | elsif (ref $inputs eq 'HASH') { } |
| 1553 | 50 | T | F | if ($input_str eq "undef" and not $config{'test_undef'}) |
| 1556 | 50 | T | F | if ($new) { } |
| 1557 | 0 | T | F | if ($status eq 'DIES') { } |
| 0 | T | F | elsif ($status eq 'WARNS') { } |
| 1568 | 0 | T | F | if ($output{'type'} eq 'boolean') { } |
| 1569 | 0 | T | F | if ($expected_str eq '1') { } |
| 0 | T | F | elsif ($expected_str eq '0') { } |
| 1581 | 50 | T | F | if ($status eq 'DIES') { } |
| 50 | T | F | elsif ($status eq 'WARNS') { } |
| 1582 | 0 | T | F | if ($module) { } |
| 1590 | 0 | T | F | if ($module) { } |
| 1599 | 50 | T | F | ref $inputs eq 'ARRAY' ? : |
| 1602 | 50 | T | F | if ($output{'type'} eq 'boolean') { } |
| 1603 | 0 | T | F | if ($expected_str eq '1') { } |
| 0 | T | F | elsif ($expected_str eq '0') { } |
| 1620 | 50 | T | F | if (defined $seed) |
| 1626 | 100 | T | F | defined $position_code ? : |
| 1661 | 50 | T | F | unless $tt->process($template, $vars, \$test) |
| 1663 | 100 | T | F | if ($test_file) { } |
| 1664 | 50 | T | F | unless &App::Test::Generator::open(my $fh, ">:encoding(UTF-8)", $test_file) |
| 1667 | 100 | T | F | if ($module) { } |
| 1682 | 100 | T | F | unless (-r $schema_file) |
| 1692 | 50 | T | F | if (my $schema = "Config::Abstraction"->new("config_dirs", [".", ""], "config_file", $schema_file)) |
| 1693 | 50 | T | F | if ($schema = $schema->all) |
| 1694 | 50 | T | F | if (defined $schema->{'$module'} or defined $schema->{'our $module'} or not defined $schema->{'module'}) |
| 1707 | 100 | T | F | if (exists $schema->{$section}) |
| 1708 | 100 | T | F | if (ref $schema->{$section} eq 'HASH') { } |
| 100 | T | F | elsif (defined $schema->{$section} and $schema->{$section} ne 'undef') { } |
| 1712 | 50 | T | F | if (ref $schema->{$section} and length $schema->{$section}) { } |
| 1726 | 0 | T | F | unless (defined $config->{'module'} or defined $config->{'function'}) |
| 1731 | 100 | T | F | unless (defined $config->{'input'} or defined $config->{'output'}) |
| 1735 | 50 | T | F | if ($config->{'input'} and ref $config->{'input'} ne "HASH") |
| 1736 | 0 | T | F | if ($config->{'input'} eq 'undef') { } |
| 1743 | 100 | T | F | if ($config->{'input'}) |
| 1746 | 50 | T | F | unless (length $param) |
| 1750 | 100 | T | F | if (ref $spec) { } |
| 1751 | 50 | T | F | unless defined $spec->{'type'} |
| 1752 | 100 | T | F | unless _valid_type($spec->{'type'}) |
| 1754 | 50 | T | F | unless _valid_type($spec) |
| 1764 | 100 | T | F | if (ref $spec eq "HASH" and defined $spec->{'position'}) |
| 1769 | 50 | T | F | unless $pos =~ /^\d+$/u |
| 1772 | 50 | T | F | if exists $positions{$pos} |
| 1779 | 100 | T | F | if ($has_positions) |
| 1782 | 50 | T | F | unless (ref $spec eq "HASH" and defined $spec->{'position'}) |
| 1790 | 50 | T | F | if ($sorted[$i] != $i) |
| 1801 | 100 | T | F | if (ref $spec eq "HASH") |
| 1802 | 50 | T | F | if (defined $spec->{'semantic'}) |
| 1804 | 0 | T | F | unless (exists $semantic_generators->{$semantic}) |
| 1809 | 0 | T | F | if ($spec->{'enum'} and $spec->{'memberof'}) |
| 1813 | 50 | T | F | if (exists $spec->{$type}) |
| 1814 | 0 | T | F | unless ref $spec->{$type} eq "ARRAY" |
| 1822 | 100 | T | F | if (exists $config->{'transforms'} and ref $config->{'transforms'} eq "HASH") |
| 1828 | 50 | T | F | if (exists $transform->{'properties'}) |
| 1829 | 0 | T | F | unless (ref $transform->{'properties'} eq "ARRAY") |
| 1834 | 0 | T | F | if (not ref $prop) { } |
| 0 | T | F | elsif (ref $prop eq 'HASH') { } |
| 1836 | 0 | T | F | unless (exists $builtin_props->{$prop}) |
| 1843 | 0 | T | F | unless ($prop->{'name'} and $prop->{'code'}) |
| 1855 | 100 | T | F | if (ref $config->{'config'} eq "HASH") |
| 1858 | 50 | T | F | unless (grep {$_ eq $k;} ('test_nuls', 'test_undef', 'test_empty', 'test_non_ascii', 'dedup', 'properties', 'close_stdin')) |
| 1872 | 100 | T | F | if $field eq "properties" |
| 1873 | 100 | T | F | if (exists $config->{$field}) { } |
| 1874 | 100 | T | F | if ($config->{$field} eq 'false' or $config->{$field} eq 'off' or $config->{$field} eq 'no') { } |
| 50 | T | F | elsif ($config->{$field} eq 'true' or $config->{$field} eq 'on' or $config->{$field} eq 'yes') { } |
| 1884 | 100 | T | F | unless ref $config->{'properties'} eq "HASH" |
| 1891 | 50 | T | F | unless defined $type |
| 1902 | 50 | T | F | unless $module |
| 1907 | 100 | T | F | if ($schema_file and not $mod_info) |
| 1919 | 50 | T | F | if ($ENV{'TEST_VERBOSE'} or $ENV{'GENERATOR_VERBOSE'}) |
| 1925 | 50 | T | F | if ($ENV{'GENERATOR_VALIDATE_LOAD'}) |
| 1928 | 0 | T | F | unless ($loaded) |
| 1935 | 0 | T | F | if ($ENV{'TEST_VERBOSE'} or $ENV{'GENERATOR_VERBOSE'}) |
| 1946 | 50 | T | F | unless defined $s |
| 1961 | 50 | T | F | unless defined $v |
| 1962 | 50 | T | F | if $v eq "true" |
| 1963 | 100 | T | F | if (ref $v) |
| 1964 | 50 | T | F | if (ref $v eq "ARRAY") |
| 1968 | 50 | T | F | if (ref $v eq "Regexp") |
| 1972 | 0 | T | F | if $mods |
| 1980 | 100 | T | F | &looks_like_number($v) ? : |
| 1996 | 50 | T | F | unless $href and ref $href eq "HASH" |
| 2000 | 100 | T | F | unless ref $def eq "HASH" |
| 2003 | 50 | T | F | unless defined $def->{$subk} |
| 2004 | 50 | T | F | if (ref $def->{$subk}) |
| 2005 | 0 | T | F | unless (ref $def->{$subk} eq "ARRAY" or ref $def->{$subk} eq "Regexp") |
| 2009 | 50 | T | F | if ($subk eq 'matches' or $subk eq 'nomatch') { } |
| 2023 | 50 | T | F | unless $href and ref $href eq "HASH" |
| 2030 | 50 | T | F | unless $href and ref $href eq "HASH" |
| 2034 | 0 | T | F | unless ref $aref eq "ARRAY" |
| 2046 | 50 | T | F | unless defined $s |
| 2050 | 50 | T | F | unless $s =~ /\Q$l\E|\Q$r\E/u |
| 2053 | 0 | T | F | unless index($s, $d) != -1 |
| 2077 | 50 | T | F | if (not ref $input_spec and $input_spec eq "undef") |
| 2090 | 50 | T | F | if (exists $transform->{'properties'} and ref $transform->{'properties'} eq "ARRAY") |
| 2105 | 50 | T | F | unless @all_props |
| 2107 | 50 | T | F | unless ref $input_spec eq "HASH" |
| 2115 | 50 | T | F | unless ref $spec eq "HASH" |
| 2117 | 50 | T | F | if (defined(my $gen = _schema_to_lectrotest_generator($field, $spec))) |
| 2118 | 50 | T | F | if (length $gen) |
| 2129 | 50 | T | F | if ($module and defined $new) { } |
| 50 | T | F | elsif ($module and $module ne 'builtin') { } |
| 2141 | 50 | T | F | if (_has_positions($input_spec)) { } |
| 2184 | 0 | T | F | defined $schema->{'new'} ? : |
| 2191 | 0 | T | F | if (not ref $prop_def) { } |
| 0 | T | F | elsif (ref $prop_def eq 'HASH') { } |
| 2195 | 0 | T | F | if (exists $builtin_properties->{$prop_name}) { } |
| 2203 | 0 | T | F | if (_has_positions($input_spec)) { } |
| 2215 | 0 | T | F | if ($module and defined $new) { } |
| 0 | T | F | elsif ($module and $module ne 'builtin') { } |
| 2238 | 0 | T | F | unless ($prop_code) |
| 2244 | 0 | T | F | unless ($prop_code =~ /\$/u or $prop_code =~ /\w+/u) |
| 2276 | 50 | T | F | if not ref $input_spec and $input_spec eq "undef" |
| 2279 | 50 | T | F | if (_is_numeric_transform($input_spec, $output_spec)) |
| 2280 | 50 | T | F | if (defined $output_spec->{'min'}) |
| 2289 | 50 | T | F | if (defined $output_spec->{'max'}) |
| 2300 | 100 | T | F | if ($transform_name =~ /positive/iu) |
| 2310 | 50 | T | F | if (defined $output_spec->{'value'}) |
| 2312 | 0 | T | F | ref $expected ? : |
| 2322 | 50 | T | F | if (_is_string_transform($input_spec, $output_spec)) |
| 2323 | 0 | T | F | if (defined $output_spec->{'min'}) |
| 2330 | 0 | T | F | if (defined $output_spec->{'max'}) |
| 2337 | 0 | T | F | if (defined $output_spec->{'matches'}) |
| 2347 | 50 | T | F | if (_same_type($input_spec, $output_spec)) |
| 2350 | 0 | T | F | if ($type eq "number" or $type eq "integer" or $type eq "float") |
| 2359 | 50 | T | F | unless (($output_spec->{'type'} // "") eq "undef") |
| 2754 | 50 | T | F | if ($type eq "string" and defined $spec->{'semantic'}) |
| 2758 | 0 | T | F | if (exists $generators->{$semantic_type}) { } |
| 2771 | 100 | T | F | if ($type eq 'integer') { } |
| 100 | T | F | elsif ($type eq 'number' or $type eq 'float') { } |
| 100 | T | F | elsif ($type eq 'string') { } |
| 50 | T | F | elsif ($type eq 'boolean') { } |
| 50 | T | F | elsif ($type eq 'arrayref') { } |
| 50 | T | F | elsif ($type eq 'hashref') { } |
| 2775 | 50 | T | F | if (not defined $min || defined $max) { } |
| 50 | T | F | elsif (not defined $min) { } |
| 50 | T | F | elsif (not defined $max) { } |
| 2790 | 50 | T | F | if (not defined $min || defined $max) { } |
| 100 | T | F | elsif (not defined $min) { } |
| 50 | T | F | elsif (not defined $max) { } |
| 2795 | 50 | T | F | if ($max == 0) { } |
| 0 | T | F | elsif ($max > 0) { } |
| 2807 | 50 | T | F | if ($min == 0) { } |
| 0 | T | F | elsif ($min > 0) { } |
| 2820 | 0 | T | F | if ($range <= 0) |
| 2832 | 50 | T | F | if (defined $spec->{'matches'}) |
| 2836 | 0 | T | F | if (defined $spec->{'max'}) { } |
| 0 | T | F | elsif (defined $spec->{'min'}) { } |
| 2897 | 100 | T | F | if defined $spec->{'type'} |
| 2901 | 50 | T | F | unless ref $spec->{$field} eq "HASH" |
| 2902 | 50 | T | F | if defined $spec->{$field}{'type'} |
| 2912 | 100 | T | F | unless ref $input_spec->{$field} eq "HASH" |
| 2913 | 100 | T | F | if defined $input_spec->{$field}{'position'} |
| 2937 | 50 | T | F | if ($prop->{'should_die'}) { } |