| line | % | coverage | branch |
| 57 | 50 | T | F | if $expression =~ /\?\{/u |
| 69 | 50 | T | F | defined $2 ? : |
| 79 | 50 | T | F | if (open $fh, "<:utf8", $re) |
| 88 | 100 | T | F | if (/^#(?:\s(.+)|)/u) |
| 89 | 100 | T | F | if $hint eq "" and defined $1 |
| 92 | 100 | T | F | unless $_ ne "" |
| 93 | 50 | T | F | if $_ eq "\$^" |
| 95 | 100 | T | F | unless s/^(.+)/(?:$1)/u |
| 97 | 100 | T | F | unless (test_re($quoted)) |
| 105 | 100 | T | F | if (defined $hints{$_}) { } |
| 133 | 50 | T | F | test_re($quoted) ? : |
| 135 | 50 | T | F | unless scalar @list |
| 147 | 50 | T | F | unless open my $file_fh, "<:utf8", $re |
| 154 | 100 | T | F | if /^#/u |
| 157 | 50 | T | F | unless /^./u |
| 163 | 100 | T | F | unless ($pairs == $true_pairs) |
| 184 | 50 | T | F | if $CheckSpelling::UnknownWordSplitter::shortest_word |
| 185 | 100 | T | F | if ($CheckSpelling::UnknownWordSplitter::longest_word) { } |
| 100 | T | F | elsif (not_empty($CheckSpelling::UnknownWordSplitter::longest)) { } |
| 194 | 100 | T | F | if defined $_ |
| 195 | 100 | T | F | unless $word_pattern |
| 196 | 50 | T | F | if (defined $CheckSpelling::UnknownWordSplitter::shortest and not_empty($CheckSpelling::UnknownWordSplitter::longest) and $CheckSpelling::UnknownWordSplitter::shortest > $CheckSpelling::UnknownWordSplitter::longest) |
| 201 | 100 | T | F | unless defined $CheckSpelling::UnknownWordSplitter::shortest |
| 202 | 100 | T | F | unless not_empty($CheckSpelling::UnknownWordSplitter::longest) |
| 220 | 100 | T | F | if ($CheckSpelling::UnknownWordSplitter::check_homoglyphs and not $CheckSpelling::UnknownWordSplitter::check_homoglyphs =~ /false/iu) { } |
| 222 | 50 | T | F | if (-s $homoglyph_list_path) { } |
| 235 | 50 | T | F | if ($CheckSpelling::UnknownWordSplitter::word_match =~ /\{(\d+),/u) |
| 237 | 50 | T | F | if ($three > 1) |
| 245 | 100 | T | F | unless $word =~ /$word_match_relaxed/u |
| 247 | 100 | T | F | unless not_empty($CheckSpelling::UnknownWordSplitter::longest) |
| 248 | 100 | T | F | if $l > $CheckSpelling::UnknownWordSplitter::longest |
| 249 | 100 | T | F | if ($word =~ /$CheckSpelling::UnknownWordSplitter::word_match/u) |
| 250 | 100 | T | F | if $l < $CheckSpelling::UnknownWordSplitter::shortest |
| 267 | 50 | T | F | if (open my $aff_fh, "<", $aff) |
| 269 | 0 | T | F | unless /^SET\s+(\S+)/u |
| 270 | 0 | T | F | unless $1 =~ /utf-8/iu |
| 294 | 100 | T | F | if ($CheckSpelling::UnknownWordSplitter::hunspell_dictionary_path) |
| 296 | 50 | T | F | if (eval 'use Text::Hunspell; 1') { } |
| 306 | 100 | T | F | if (-e "$configuration/block-delimiters.list") |
| 308 | 100 | T | F | if (@block_delimiters) |
| 323 | 50 | T | F | if (-e "$configuration/patterns.txt") { } |
| 331 | 100 | T | F | if (-e "$configuration/forbidden.txt") { } |
| 340 | 100 | T | F | if (-e "$configuration/candidates.txt") { } |
| 342 | 50 | T | F | $in_patterns_re_list{$_} || !test_re($quoted) ? : |
| 348 | 50 | T | F | if (-e "$configuration/reject.txt") { } |
| 350 | 0 | T | F | !test_re($quoted) ? : |
| 368 | 50 | T | F | if ($CheckSpelling::UnknownWordSplitter::check_images) |
| 370 | 0 | T | F | if $CheckSpelling::UnknownWordSplitter::ocr_directory =~ /^(.*)$/u |
| 380 | 100 | T | F | unless -e $CheckSpelling::UnknownWordSplitter::base_dict |
| 403 | 100 | T | F | unless $token =~ /$pattern/u |
| 409 | 100 | T | F | unless $token =~ /$CheckSpelling::UnknownWordSplitter::word_match/u |
| 410 | 100 | T | F | if (defined $CheckSpelling::UnknownWordSplitter::dictionary{$token}) |
| 415 | 100 | T | F | if (@CheckSpelling::UnknownWordSplitter::hunspell_dictionaries) |
| 419 | 50 | T | F | defined $hunspell_dictionary->{'encoding'} ? : |
| 420 | 50 | T | F | unless $hunspell_dictionary->{'engine'}->check($token_encoded) |
| 427 | 50 | T | F | if $found |
| 430 | 100 | T | F | if (defined $CheckSpelling::UnknownWordSplitter::dictionary{$key}) |
| 435 | 50 | T | F | unless ($CheckSpelling::UnknownWordSplitter::disable_word_collating) |
| 437 | 100 | T | F | if length $key >= $shortest_threshold |
| 439 | 50 | T | F | if (defined $CheckSpelling::UnknownWordSplitter::dictionary{$key}) |
| 467 | 0 | T | F | if (-e $ocr_file and -e $ocr_source_sha and open my $source_sha, "<", $ocr_source_sha) |
| 472 | 0 | T | F | if ($last_sha =~ /(.*)/u) |
| 473 | 0 | T | F | if $1 eq $sha |
| 480 | 0 | T | F | unless defined $text_file |
| 483 | 0 | T | F | if ($text_file =~ /^(.*)$/u) |
| 486 | 0 | T | F | if ($file_size > 20) { } |
| 505 | 50 | T | F | if ($match =~ /^($reject_re)$/u) { } |
| 509 | 0 | T | F | if ($match =~ /^$reject$/u) |
| 515 | 0 | T | F | unless ($found) |
| 537 | 100 | T | F | unless $CheckSpelling::UnknownWordSplitter::ignore_next_line_pattern =~ /./u |
| 550 | 50 | T | F | if defined $ENV{'DEBUG'} |
| 554 | 100 | T | F | if (defined readlink $file and rindex("File::Spec"->abs2rel(abs_path($file)), "../", 0) == 0) |
| 559 | 100 | T | F | if ($use_magic_file) { } |
| 50 | T | F | elsif ($file =~ /\.(?:png|jpe?g|gif)$/u) { } |
| 560 | 50 | T | F | if (open my $file_fh, "-|", "/usr/bin/file", "-b", "--mime", "-e", "cdf", "-e", "compress", "-e", "csv", "-e", "elf", "-e", "json", "-e", "tar", $file) |
| 574 | 50 | T | F | if ($CheckSpelling::UnknownWordSplitter::check_images and $file_kind =~ m[^image/(?!svg)]u) |
| 577 | 100 | T | F | if ($file_converted == 0 and $file_kind =~ /^(.*?); charset=binary/u) |
| 587 | 50 | T | F | if (defined $largest_file) |
| 588 | 50 | T | F | unless ($CheckSpelling::UnknownWordSplitter::check_file_names eq $file) |
| 589 | 100 | T | F | if ($file_size > $largest_file) |
| 604 | 100 | T | F | if ($unix_new_lines == 0 and $mac_new_lines == 0) { } |
| 100 | T | F | elsif ($dos_new_lines >= $unix_new_lines and $dos_new_lines >= $mac_new_lines) { } |
| 100 | T | F | elsif ($mac_new_lines > $unix_new_lines) { } |
| 635 | 100 | T | F | if ($. == 1) |
| 636 | 50 | T | F | unless ($disable_minified_file) |
| 637 | 100 | T | F | if ($file_size >= 512 and length $_ == $file_size) |
| 645 | 50 | T | F | if (/[\x{D800}-\x{DFFF}]/u) |
| 650 | 100 | T | F | unless /./u |
| 655 | 100 | T | F | if ($CheckSpelling::UnknownWordSplitter::begin_block_re) |
| 658 | 100 | T | F | unless /\Q$next_end_marker\E/u |
| 664 | 100 | T | F | unless @captured |
| 666 | 50 | T | F | if ($captured[$capture]) |
| 674 | 100 | T | F | if $parsed_block_markers |
| 679 | 100 | T | F | if $ignore_this_line |
| 682 | 100 | T | F | if (defined $CheckSpelling::UnknownWordSplitter::patterns_re) |
| 688 | 100 | T | F | if ($CheckSpelling::UnknownWordSplitter::forbidden_re) |
| 696 | 100 | T | F | if ($test_line =~ s/($forbidden_re_singleton)/"=" x length($1);/eu) |
| 697 | 50 | T | F | unless $test_line eq $_ |
| 699 | 50 | T | F | unless $begin == $begin_test |
| 700 | 50 | T | F | unless $end == $end_test |
| 701 | 50 | T | F | unless $match eq $match_test |
| 705 | 100 | T | F | unless $forbidden_re_lines[$i] |
| 710 | 100 | T | F | if ($found_trigger_re) { } |
| 714 | 100 | T | F | if ($description ne '') { } |
| 730 | 50 | T | F | if ($CheckSpelling::UnknownWordSplitter::check_homoglyphs) |
| 737 | 50 | T | F | defined $CheckSpelling::UnknownWordSplitter::longest_word && $CheckSpelling::UnknownWordSplitter::longest_word =~ /^\d+$/u ? : |
| 743 | 50 | T | F | if (defined $CheckSpelling::UnknownWordSplitter::dictionary{$token}) |
| 760 | 100 | T | F | if ($token =~ /^$CheckSpelling::UnknownWordSplitter::upper_pattern$CheckSpelling::UnknownWordSplitter::lower_pattern/u) { } |
| 50 | T | F | elsif ($token =~ /^$CheckSpelling::UnknownWordSplitter::upper_pattern/u) { } |
| 767 | 50 | T | F | $token =~ /$CheckSpelling::UnknownWordSplitter::upper_pattern$/u ? : |
| 772 | 50 | T | F | unless $match =~ /./u |
| 775 | 100 | T | F | unless ($found_token) |
| 776 | 50 | T | F | if (not $raw_line =~ /$token.*$token/u and $raw_line =~ /($token)/u) { } |
| 786 | 100 | T | F | if ($line_flagged and $CheckSpelling::UnknownWordSplitter::candidates_re) |
| 789 | 50 | T | F | if ($_ ne $initial_line_state) |
| 793 | 100 | T | F | unless $candidate_re =~ /./u and $raw_line =~ /$candidate_re/u |
| 794 | 50 | T | F | if ($_ =~ s/($candidate_re)/"=" x length($1);/eu) |
| 800 | 50 | T | F | unless $candidates_re_lines[$i] |
| 806 | 50 | T | F | unless ($disable_minified_file) |
| 811 | 100 | T | F | if ($ratio > $ratio_threshold) |
| 817 | 100 | T | F | if ($next_end_marker) |
| 818 | 50 | T | F | if ($start_marker_line) |
| 828 | 50 | T | F | if ($@) |
| 829 | 0 | T | F | unless $@ eq "alarm\n" |
| 838 | 100 | T | F | if ($CheckSpelling::UnknownWordSplitter::unrecognized or @candidates_re_hits or @forbidden_re_hits) |
| 840 | 100 | T | F | @candidates_re_hits ? : |
| 100 | T | F | @candidates_re_lines ? : |
| 100 | T | F | @forbidden_re_hits ? : |
| 100 | T | F | @forbidden_re_lines ? : |
| 859 | 100 | T | F | unless (%CheckSpelling::UnknownWordSplitter::dictionary) |