| line | % | coverage | branch |
| 1184 | 50 | T | F | if ($_[0] and $_[0] eq __PACKAGE__) |
| 1197 | 100 | T | F | if (defined $schema_file) { } |
| 1198 | 50 | T | F | if (my $schema = _load_schema($schema_file)) { } |
| 1204 | 100 | T | F | if exists $schema->{'cases'} |
| 1205 | 50 | T | F | if exists $schema->{'edge_cases'} |
| 1206 | 50 | T | F | if exists $schema->{'type_edge_cases'} |
| 1208 | 50 | T | F | if exists $schema->{'module'} |
| 1209 | 50 | T | F | if exists $schema->{'function'} |
| 1210 | 100 | T | F | if (exists $schema->{'new'}) |
| 1211 | 100 | T | F | defined $schema->{'new'} ? : |
| 1213 | 100 | T | F | if exists $schema->{'yaml_cases'} |
| 1214 | 50 | T | F | if exists $schema->{'seed'} |
| 1215 | 100 | T | F | if exists $schema->{'iterations'} |
| 1217 | 100 | T | F | if exists $schema->{'edge_case_array'} |
| 1220 | 100 | T | F | if exists $schema->{'config'} |
| 1230 | 100 | T | F | if (exists $config{$field}) { } |
| 1231 | 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') { } |
| 1242 | 100 | T | F | if ($module eq 'builtin') { } |
| 50 | T | F | elsif (not $module) { } |
| 1250 | 100 | T | F | if ($module and $module ne "builtin") |
| 1257 | 50 | T | F | if defined $seed and $seed eq "" |
| 1261 | 100 | T | F | if (defined $yaml_cases) |
| 1262 | 100 | T | F | unless -f $yaml_cases |
| 1265 | 50 | T | F | if ($yaml_data and ref $yaml_data eq "HASH") |
| 1271 | 100 | T | F | unless ($outputs and ref $outputs eq "ARRAY") |
| 1277 | 100 | T | F | if $valid_input |
| 1285 | 50 | T | F | if (exists $cases{$k} and ref $cases{$k} eq "ARRAY" and ref $yaml_corpus_data{$k} eq "ARRAY") |
| 1295 | 100 | T | F | if (scalar @edge_case_array) |
| 1304 | 100 | T | F | if (ref $config{$key} eq "HASH") |
| 1307 | 100 | T | F | if (not defined $config{$key} && $config{$key}) { } |
| 1318 | 100 | T | F | if (scalar keys %input == 1 and exists $input{'type'} and not ref $input{'type'}) { } |
| 1327 | 50 | T | F | if (defined(my $re = $output{'matches'})) |
| 1328 | 0 | T | F | if (ref $re ne "Regexp") |
| 1334 | 100 | T | F | $new && ref $new eq 'HASH' ? : |
| 1337 | 100 | T | F | if (keys %transforms) |
| 1339 | 100 | T | F | if ($transforms_code) |
| 1355 | 50 | T | F | if (keys %transforms and $config{'properties'}{'enable'} // 0) |
| 1373 | 100 | T | F | $module ? : |
| 1376 | 100 | T | F | if (defined $new) { } |
| 100 | T | F | elsif (defined $module) { } |
| 1378 | 100 | T | F | if ($new_code eq '') { } |
| 1395 | 100 | T | F | if (%all_cases) |
| 1401 | 50 | T | F | unless $inputs |
| 1405 | 50 | T | F | if ($expected_str eq q['_STATUS:DIES']) { } |
| 50 | T | F | elsif ($expected_str eq q['_STATUS:WARNS']) { } |
| 1411 | 50 | T | F | if (ref $inputs eq "HASH") |
| 1415 | 50 | T | F | if (ref $inputs eq 'ARRAY') { } |
| 0 | T | F | elsif (ref $inputs eq 'HASH') { } |
| 1425 | 50 | T | F | if ($input_str eq "undef" and not $config{'test_undefs'}) |
| 1428 | 50 | T | F | if ($new) { } |
| 1429 | 0 | T | F | if ($status eq 'DIES') { } |
| 0 | T | F | elsif ($status eq 'WARNS') { } |
| 1443 | 50 | T | F | if ($status eq 'DIES') { } |
| 50 | T | F | elsif ($status eq 'WARNS') { } |
| 1451 | 50 | T | F | ref $inputs eq 'ARRAY' ? : |
| 1462 | 50 | T | F | if (defined $seed) |
| 1496 | 50 | T | F | unless $tt->process($template, $vars, \$test) |
| 1498 | 100 | T | F | if ($test_file) { } |
| 1499 | 50 | T | F | unless &App::Test::Generator::open(my $fh, ">:encoding(UTF-8)", $test_file) |
| 1502 | 100 | T | F | if ($module) { } |
| 1517 | 50 | T | F | unless (-r $schema_file) |
| 1527 | 50 | T | F | if (my $config = "Config::Abstraction"->new("config_dirs", [".", ""], "config_file", $schema_file)) |
| 1529 | 50 | T | F | if (defined $config->{'$module'} or defined $config->{'our $module'} or not defined $config->{'module'}) |
| 1540 | 100 | T | F | if (exists $schema->{$section}) |
| 1541 | 100 | T | F | if (ref $schema->{$section} eq 'HASH') { } |
| 100 | T | F | elsif (defined $schema->{$section} and $schema->{$section} ne 'undef') { } |
| 1545 | 50 | T | F | if (ref $schema->{$section} and length $schema->{$section}) { } |
| 1559 | 0 | T | F | unless (defined $config->{'module'} or defined $config->{'function'}) |
| 1564 | 100 | T | F | unless (defined $config->{'input'} or defined $config->{'output'}) |
| 1568 | 50 | T | F | if ($config->{'input'} and ref $config->{'input'} ne "HASH") |
| 1569 | 0 | T | F | if ($config->{'input'} eq 'undef') { } |
| 1579 | 100 | T | F | if (ref $spec) { } |
| 1580 | 100 | T | F | unless _valid_type($spec->{'type'}) |
| 1582 | 50 | T | F | unless _valid_type($spec) |
| 1592 | 100 | T | F | if (ref $spec eq "HASH" and defined $spec->{'position'}) |
| 1597 | 50 | T | F | unless $pos =~ /^\d+$/u |
| 1600 | 50 | T | F | if exists $positions{$pos} |
| 1607 | 100 | T | F | if ($has_positions) |
| 1610 | 50 | T | F | unless (ref $spec eq "HASH" and defined $spec->{'position'}) |
| 1618 | 50 | T | F | if ($sorted[$i] != $i) |
| 1629 | 50 | T | F | if (ref $spec eq "HASH" and defined $spec->{'semantic'}) |
| 1631 | 0 | T | F | unless (exists $semantic_generators->{$semantic}) |
| 1639 | 100 | T | F | if (exists $config->{'transforms'} and ref $config->{'transforms'} eq "HASH") |
| 1645 | 50 | T | F | if (exists $transform->{'properties'}) |
| 1646 | 0 | T | F | unless (ref $transform->{'properties'} eq "ARRAY") |
| 1651 | 0 | T | F | if (not ref $prop) { } |
| 0 | T | F | elsif (ref $prop eq 'HASH') { } |
| 1653 | 0 | T | F | unless (exists $builtin_props->{$prop}) |
| 1660 | 0 | T | F | unless ($prop->{'name'} and $prop->{'code'}) |
| 1690 | 50 | T | F | unless $module |
| 1695 | 100 | T | F | unless ($mod_info) |
| 1707 | 50 | T | F | if ($ENV{'TEST_VERBOSE'} or $ENV{'GENERATOR_VERBOSE'}) |
| 1713 | 50 | T | F | if ($ENV{'GENERATOR_VALIDATE_LOAD'}) |
| 1716 | 0 | T | F | unless ($loaded) |
| 1722 | 0 | T | F | if ($ENV{'TEST_VERBOSE'} or $ENV{'GENERATOR_VERBOSE'}) |
| 1738 | 50 | T | F | unless defined $v |
| 1739 | 100 | T | F | if (ref $v) |
| 1740 | 50 | T | F | if (ref $v eq "ARRAY") |
| 1744 | 50 | T | F | if (ref $v eq "Regexp") |
| 1748 | 0 | T | F | unless $s =~ /[{}]/u |
| 1751 | 0 | T | F | unless $s =~ m[/]u |
| 1764 | 100 | T | F | $v =~ /^-?\d+(\.\d+)?$/u ? : |
| 1769 | 50 | T | F | unless $href and ref $href eq "HASH" |
| 1773 | 100 | T | F | unless ref $def eq "HASH" |
| 1776 | 50 | T | F | unless defined $def->{$subk} |
| 1777 | 50 | T | F | if (ref $def->{$subk}) |
| 1778 | 0 | T | F | unless (ref $def->{$subk} eq "ARRAY" or ref $def->{$subk} eq "Regexp") |
| 1782 | 50 | T | F | if ($subk eq 'matches' or $subk eq 'nomatch') { } |
| 1795 | 50 | T | F | unless $href and ref $href eq "HASH" |
| 1802 | 50 | T | F | unless $href and ref $href eq "HASH" |
| 1806 | 0 | T | F | unless ref $aref eq "ARRAY" |
| 1818 | 50 | T | F | unless $s =~ /\Q$l\E|\Q$r\E/u |
| 1821 | 0 | T | F | unless index($s, $d) != -1 |
| 1846 | 50 | T | F | if (not ref $input_spec and $input_spec eq "undef") |
| 1859 | 50 | T | F | if (exists $transform->{'properties'} and ref $transform->{'properties'} eq "ARRAY") |
| 1874 | 50 | T | F | unless @all_props |
| 1882 | 50 | T | F | unless ref $spec eq "HASH" |
| 1893 | 50 | T | F | if ($module) { } |
| 1902 | 50 | T | F | if (_has_positions($input_spec)) { } |
| 1943 | 0 | T | F | defined $schema->{'new'} ? : |
| 1950 | 0 | T | F | if (not ref $prop_def) { } |
| 0 | T | F | elsif (ref $prop_def eq 'HASH') { } |
| 1954 | 0 | T | F | if (exists $builtin_properties->{$prop_name}) { } |
| 1963 | 0 | T | F | if ($module and defined $new) { } |
| 0 | T | F | elsif ($module and $module ne 'builtin') { } |
| 1974 | 0 | T | F | if (_has_positions($input_spec)) { } |
| 1998 | 0 | T | F | unless ($prop_code) |
| 2004 | 0 | T | F | unless ($prop_code =~ /\$/u or $prop_code =~ /\w+/u) |
| 2036 | 50 | T | F | if not ref $input_spec and $input_spec eq "undef" |
| 2039 | 50 | T | F | if (_is_numeric_transform($input_spec, $output_spec)) |
| 2040 | 50 | T | F | if (defined $output_spec->{'min'}) |
| 2048 | 50 | T | F | if (defined $output_spec->{'max'}) |
| 2058 | 100 | T | F | if ($transform_name =~ /positive/iu) |
| 2067 | 50 | T | F | if (defined $output_spec->{'value'}) |
| 2076 | 50 | T | F | if (_is_string_transform($input_spec, $output_spec)) |
| 2077 | 0 | T | F | if (defined $output_spec->{'min'}) |
| 2084 | 0 | T | F | if (defined $output_spec->{'max'}) |
| 2091 | 0 | T | F | if (defined $output_spec->{'matches'}) |
| 2101 | 50 | T | F | if (_same_type($input_spec, $output_spec)) |
| 2104 | 0 | T | F | if ($type eq "number" or $type eq "integer" or $type eq "float") |
| 2113 | 50 | T | F | unless (($output_spec->{'type'} // "") eq "undef") |
| 2500 | 50 | T | F | if ($type eq "string" and defined $spec->{'semantic'}) |
| 2504 | 0 | T | F | if (exists $generators->{$semantic_type}) { } |
| 2517 | 50 | T | F | if ($type eq 'integer') { } |
| 50 | T | F | elsif ($type eq 'number' or $type eq 'float') { } |
| 0 | T | F | elsif ($type eq 'string') { } |
| 0 | T | F | elsif ($type eq 'boolean') { } |
| 0 | T | F | elsif ($type eq 'arrayref') { } |
| 0 | T | F | elsif ($type eq 'hashref') { } |
| 2521 | 0 | T | F | if (not defined $min || defined $max) { } |
| 0 | T | F | elsif (not defined $min) { } |
| 0 | T | F | elsif (not defined $max) { } |
| 2536 | 50 | T | F | if (not defined $min || defined $max) { } |
| 100 | T | F | elsif (not defined $min) { } |
| 50 | T | F | elsif (not defined $max) { } |
| 2541 | 50 | T | F | if ($max == 0) { } |
| 0 | T | F | elsif ($max > 0) { } |
| 2553 | 50 | T | F | if ($min == 0) { } |
| 0 | T | F | elsif ($min > 0) { } |
| 2566 | 0 | T | F | if ($range <= 0) |
| 2578 | 0 | T | F | if (defined $spec->{'matches'}) |
| 2582 | 0 | T | F | if (defined $spec->{'max'}) { } |
| 0 | T | F | elsif (defined $spec->{'min'}) { } |
| 2643 | 100 | T | F | if defined $spec->{'type'} |
| 2647 | 50 | T | F | unless ref $spec->{$field} eq "HASH" |
| 2648 | 50 | T | F | if defined $spec->{$field}{'type'} |
| 2658 | 50 | T | F | unless ref $spec->{$field} eq "HASH" |
| 2659 | 50 | T | F | if defined $spec->{$field}{'position'} |
| 2683 | 50 | T | F | if ($prop->{'should_die'}) { } |