File Coverage

blib/lib/Brackup/Chunker/Default.pm
Criterion Covered Total %
statement 17 17 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod 0 1 0.0
total 20 21 95.2


line stmt bran cond sub pod time code
1             package Brackup::Chunker::Default;
2 13     13   78 use strict;
  13         32  
  13         4503  
3              
4             sub chunks {
5 90     90 0 439 my ($class, $file) = @_;
6 90         196 my @chunk_list;
7              
8 90         402 my $root = $file->root;
9 90         1222 my $chunk_size = $root->chunk_size;
10 90         1244 my $size = $file->size;
11              
12 90         901 my $offset = 0;
13 90         392 while ($offset < $size) {
14 108         771 my $len = _min($chunk_size, $size - $offset);
15 108         2341 my $chunk = Brackup::PositionedChunk->new(
16             file => $file,
17             offset => $offset,
18             length => $len,
19             );
20 108         371 push @chunk_list, $chunk;
21 108         472 $offset += $len;
22             }
23 90         778 return @chunk_list;
24             }
25              
26             sub _min {
27 108     108   1384 return (sort { $a <=> $b } @_)[0];
  108         1507  
28             }
29              
30             1;