| line | % | coverage | branch |
| 16 | 100 | T | F | unless $record =~ /\b$field:\s*(\d+)/ |
| 22 | 50 | T | F | unless $record =~ /\b$field: \[([^\]]+)\]/ |
| 29 | 50 | T | F | unless $next and $next < $value |
| 38 | 100 | T | F | if (defined $CheckSpelling::SpellingCollator::expected{$item}) { } |
| 100 | T | F | elsif ($item =~ /^([A-Z])(.*)/) { } |
| 40 | 100 | T | F | if $value < $next |
| 43 | 100 | T | F | if (defined $CheckSpelling::SpellingCollator::expected{$item}) { } |
| 48 | 100 | T | F | if (defined $CheckSpelling::SpellingCollator::expected{$item}) |
| 54 | 100 | T | F | unless defined $next |
| 61 | 100 | T | F | if expect_item($word, 1) |
| 63 | 50 | T | F | if expect_item($key, 2) |
| 64 | 100 | T | F | if ($key =~ /.s$/) { } |
| 100 | T | F | elsif ($key =~ /^(.+[^aeiou])ed$/) { } |
| 100 | T | F | elsif ($key =~ /^(.+)'[ds]$/) { } |
| 65 | 100 | T | F | if ($key =~ /ies$/) { } |
| 77 | 50 | T | F | if expect_item($key, 3) |
| 83 | 100 | T | F | if skip_item($item) |
| 85 | 100 | T | F | if (defined $seen_count) |
| 86 | 100 | T | F | if (not defined $unknown_word_limit or $seen_count++ < $unknown_word_limit) { } |
| 101 | 50 | T | F | if $CheckSpelling::SpellingCollator::disable_word_collating |
| 103 | 100 | T | F | if ($key =~ /.s$/) { } |
| 100 | T | F | elsif ($key =~ /.[^aeiou]ed$/) { } |
| 104 | 100 | T | F | if ($key =~ /ies$/) { } |
| 118 | 100 | T | F | if ($CheckSpelling::SpellingCollator::disable_word_collating) { } |
| 135 | 50 | T | F | if (open EXPECT, "<:utf8", $expect) |
| 152 | 100 | T | F | unless defined $CheckSpelling::SpellingCollator::letter_map{$char}{$key} |
| 154 | 100 | T | F | if defined $word_map{$word} |
| 156 | 50 | T | F | if $words > 2 |
| 157 | 100 | T | F | if ($word eq $key) |
| 158 | 50 | T | F | if $words > 1 |
| 167 | 100 | T | F | if $CheckSpelling::SpellingCollator::disable_word_collating |
| 173 | 100 | T | F | if $key eq $plural_key |
| 174 | 100 | T | F | unless defined $CheckSpelling::SpellingCollator::letter_map{$char}{$key} |
| 189 | 100 | T | F | if ($warning =~ /\(([-\w]+)\)$/) |
| 191 | 50 | T | F | if defined $CheckSpelling::SpellingCollator::ignored_event_map{$code} |
| 205 | 100 | T | F | unless defined $ENV{$path} |
| 207 | 50 | T | F | unless open ITEMS, "<:utf8", $1 |
| 213 | 100 | T | F | if ($pattern =~ /^#/) |
| 214 | 50 | T | F | if ($pattern =~ /^# /) { } |
| 222 | 50 | T | F | unless ($pattern =~ /./) |
| 235 | 100 | T | F | unless @{$totals;} |
| 236 | 50 | T | F | unless open my $fh, ">:utf8", $path |
| 239 | 50 | T | F | if ($file_counts) { } |
| 241 | 0 | T | F | unless $totals->[$b] <=> $totals->[$a] |
| 250 | 50 | T | F | unless $totals->[$i] > 0 |
| 253 | 50 | T | F | if ($rule_with_context =~ /^(.*\n)([^\n]+)$/s) { } |
| 258 | 50 | T | F | $file_counts ? : |
| 278 | 50 | T | F | if ($ignored_events) |
| 300 | 50 | T | F | if ($timing_report) |
| 319 | 50 | T | F | unless $directory =~ /^(.*)$/ |
| 321 | 100 | T | F | unless (-e $directory) |
| 325 | 100 | T | F | unless (-d $directory) |
| 331 | 100 | T | F | unless open NAME, "<:utf8", "$directory/name" |
| 340 | 50 | T | F | if ($timing_report) |
| 344 | 100 | T | F | if (-e "$directory/skipped") |
| 352 | 50 | T | F | if $timing_report |
| 357 | 100 | T | F | unless (-s "$directory/stats") |
| 359 | 50 | T | F | if $timing_report |
| 363 | 100 | T | F | if ($file eq $file_list) |
| 384 | 50 | T | F | if (@candidate_totals) |
| 387 | 0 | T | F | if (@candidate_list) |
| 390 | 0 | T | F | if ($hits) |
| 392 | 0 | T | F | if ($candidate_file_counts[$i]++ < $candidate_example_limit) |
| 403 | 100 | T | F | if (@forbidden_totals) |
| 406 | 50 | T | F | if (@forbidden_list) |
| 409 | 50 | T | F | if ($hits) |
| 418 | 50 | T | F | if $timing_report |
| 420 | 50 | T | F | if ($unknown > $unique) |
| 424 | 0 | T | F | unless ($disable_noisy_file) |
| 425 | 0 | T | F | if ($file ne $file_list) { } |
| 435 | 100 | T | F | unless (-s "$directory/unknown") |
| 442 | 100 | T | F | unless $token =~ /./ |
| 444 | 100 | T | F | unless defined $CheckSpelling::SpellingCollator::letter_map{$char} |
| 446 | 100 | T | F | if defined $CheckSpelling::SpellingCollator::letter_map{$char}{$key} |
| 454 | 50 | T | F | if $timing_report |
| 473 | 50 | T | F | if ($context =~ /^(.*?)$(.*)/ms) |
| 475 | 50 | T | F | if $details |
| 477 | 50 | T | F | unless $context |
| 487 | 100 | T | F | if (defined $ENV{'expect'}) |
| 497 | 100 | T | F | if (-s $early_warnings) |
| 510 | 100 | T | F | unless -s "$directory/warnings" |
| 511 | 50 | T | F | unless open NAME, "<:utf8", "$directory/name" |
| 516 | 100 | T | F | if (not $is_file_list) { } |
| 519 | 100 | T | F | if ($warning =~ /:(\d+):(\d+ \.\.\. \d+): `(.*)`/) { } |
| 523 | 100 | T | F | if log_skip_item($item, $file, $warning, $unknown_word_limit) |
| 525 | 50 | T | F | if ($warning =~ /\`(.*?)\` in line\. \(token-is-substring\)/) |
| 526 | 0 | T | F | if skip_item($1) |
| 535 | 50 | T | F | unless $warning =~ s/^:(\d+)/:1/ |
| 537 | 100 | T | F | if ($warning =~ s/:(\d+ \.\.\. \d+): `(.*)`/:$1, Warning - `$2` is not a recognized word. (check-file-path)/) |
| 538 | 50 | T | F | if skip_item($2) |
| 539 | 50 | T | F | if (defined $unknown_file_word_limit) |
| 540 | 100 | T | F | if ++$unknown_file_word_count{$2} > $unknown_file_word_limit |
| 555 | 100 | T | F | if (defined $unknown_word_limit) |
| 558 | 0 | T | F | unless $warning_count >= $unknown_word_limit |
| 567 | 100 | T | F | if (%counters) |
| 583 | 100 | T | F | if (scalar @words > 1) { } |
| 584 | 50 | T | F | unless length $a <=> length $b |