Condition Coverage

blib/lib/App/Phoebe.pm
Criterion Covered Total %
condition 0 203 0.0


and 3 conditions

line !l l&&!r l&&r condition
344 0 0 0 -e $lock and $age > 5
387 0 0 0 /^(\d+)\.gmi$/u and $1 > $revision
440 0 0 0 /^(\d+)\.gmi$/u and $1 > $revision
496 0 0 0 $query and ($host, $space) = $url =~ m[^(?:gemini:)?//($hosts)(?::$port)?(?:/($spaces))?/do/match\?]u
0 0 0 $query and ($host, $space) = $url =~ m[^(?:gemini:)?//($hosts)(?::$port)?(?:/($spaces))?/do/search\?]u
0 0 0 $query and ($host, $space) = $url =~ m[^(?:gemini:)?//($hosts)(?::$port)?(?:/($spaces))?/do/new\?]u
679 0 0 0 $data->{'headers'}{'host'} and not $data->{'headers'}{'host'} =~ /:\d+$/u
699 0 0 0 $data->{'header_size'} and $data->{'header_size'} > $App::Phoebe::server->{'wiki_page_size_limit'}
770 0 0 0 $space && $space ne $host
1103 0 0 0 -e $file and time - modified($file) <= 300
1197 0 0 0 $jsnippet < $maxsnippets and $text =~ /($str)/iu
1423 0 0 0 $_ and $_ ne "\n"
1424 0 0 0 $filter and not /$filter/u
1466 0 0 0 $ts and $id
1468 0 0 0 $filter eq 'latest' and $seen{$name}
1612 0 0 0 -e $log and my $fh = 'File::ReadBackwards'->new($log)
1691 0 0 0 -e $log and my $fh = 'File::ReadBackwards'->new($log)
1788 0 0 0 $ts and $id
2266 0 0 0 $revision and -f "$dir/keep/$id/$revision.gmi"
2268 0 0 0 $id eq 'robots' and not $space
2536 0 0 0 $request =~ m[^GET /default.css HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($space) = $request =~ m[^GET (?:(?:/($spaces)/?)?|/) HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($space, $id, $n) = $request =~ m[^GET (?:/($spaces))?/page/([^/]*)(?:/(\d+))? HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($space, $id, $n) = $request =~ m[^GET (?:/($spaces))?/file/([^/]*)(?:/(\d+))? HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($space, $id, $n) = $request =~ m[^GET (?:/($spaces))?/history/([^/]*)(?:/(\d+))? HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($space, $id, $n) = $request =~ m[^GET (?:/($spaces))?/diff/([^/]*)(?:/(\d+))? HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($space, $id, $n) = $request =~ m[^GET (?:/($spaces))?/raw/([^/]*)(?:/(\d+))? HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 $request =~ m[^GET /robots.txt(?:[#?].*)? HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($space, $id, $n) = $request =~ m[^GET (?:/($spaces))?/do/changes(?:/(\d+))? HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($filter, $n) = $request =~ m[^GET /do/all(?:/(latest))?/changes(?:/(\d+))? HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($space, $id, $n) = $request =~ m[^GET (?:/($spaces))?/do/index HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($space, $id, $n) = $request =~ m[^GET (?:/($spaces))?/do/files HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($space, $id, $n) = $request =~ m[^GET (?:/($spaces))?/do/spaces HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($space, $id, $n) = $request =~ m[^GET (?:/($spaces))?/do/rss HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($space, $id, $n) = $request =~ m[^GET (?:/($spaces))?/do/atom HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 ($space, $n) = $request =~ m[^GET /do/all/atom HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
0 0 0 $request =~ m[^GET (?:/($spaces))?/do/source HTTP/1\.[01]$]u and ($host) = $headers->{'host'} =~ /^($hosts)(?::$port)$/u
2678 0 0 0 $space and $App::Phoebe::server->{'wiki_space_token'}{$space}
2681 0 0 0 not $token and @tokens
2704 0 0 0 $type ne 'text/plain' and not grep(/^$type$/u, @types)
0 0 0 $type ne 'text/plain' and not grep(/^$type$/u, @types) and not grep(/^$main_type$/u, @types)

or 2 conditions

line l !l condition
253 0 0 shift() || 'text/gemini; charset=UTF-8'
266 0 0 shift() || ''
337 0 0 shift() || 0
507 0 0 space($stream, $host, $space) || ''
544 0 0 $n || 100
546 0 0 $n || 100
0 0 $style || ''
0 0 $filter || ''
560 0 0 $n || 10
597 0 0 shift() || ''
598 0 0 shift() || ''
681 0 0 $data->{'headers'}{'content-length'} || 0
716 0 0 $data->{'headers'}{'content-length'} || 0
744 0 0 shift() || 'gemini'
838 0 0 shift() || 10
856 0 0 shift() || 10
1460 0 0 shift() || sub { my($host, $space, $id, $revision) = @_; -e wiki_dir($host, $space) . "/keep/$id/$revision.gmi"; }
1461 0 0 shift() || ''
1600 0 0 $App::Phoebe::server->{'wiki_main_page'} || 'Phoebe'
1652 0 0 $App::Phoebe::server->{'wiki_main_page'} || 'Phoebe'
1773 0 0 $App::Phoebe::server->{'wiki_main_page'} || 'Phoebe'
1847 0 0 $App::Phoebe::server->{'wiki_main_page'} || 'Phoebe'
2074 0 0 $1 || 'default'
2120 0 0 shift() || ''
2237 0 0 shift() || ''
2552 0 0 $n || 10
2555 0 0 $n || 10
2564 0 0 $n || 100
2567 0 0 $n || 100
0 0 $filter || ''
2675 0 0 $params->{'token'} || ''

or 3 conditions

line l !l&&r !l&&!r condition
274 0 0 0 $data->{'upload'} ||= is_upload($stream, $data->{'request'})
623 0 0 0 @{$App::Phoebe::server->{'wiki_space'};} or keys %{$$server{'host'};} > 1
802 0 0 0 $date_b && $date_a && $date_b cmp $date_a || $article_a cmp $article_b || $a cmp $b
907 0 0 0 @{$App::Phoebe::server->{'wiki_space'};} or keys %{$$server{'host'};} > 1
1175 0 0 0 $id =~ /$str/iu or $text =~ /$str/iu
2092 0 0 0 $text ||= $url