| line |
true |
false |
branch |
|
149
|
11 |
67 |
if ($self->{'_lower_cell_limits'}) |
|
301
|
24 |
0 |
if ($cell =~ /^\D/) |
|
313
|
0 |
24 |
if @_ < 3 |
|
316
|
2 |
22 |
if $self->_check_dimensions(0, $lastcol) |
|
324
|
12 |
10 |
if (defined $width) |
|
328
|
0 |
12 |
if $width == 0 |
|
350
|
1 |
0 |
if ($_[0] =~ /^\D/) |
|
369
|
0 |
0 |
if ($_[0] =~ /^\D/) |
|
446
|
0 |
2 |
if (length $string >= 255) |
|
467
|
0 |
2 |
if (length $string >= 255) |
|
488
|
0 |
1 |
if (defined $_[0]) { } |
|
507
|
0 |
1 |
if (defined $_[0]) { } |
|
573
|
4 |
0 |
defined $_[0] ? : |
|
587
|
4 |
0 |
defined $_[0] ? : |
|
601
|
4 |
0 |
defined $_[0] ? : |
|
615
|
4 |
0 |
defined $_[0] ? : |
|
636
|
2 |
2 |
if ($row_min == $row_max) { } |
|
664
|
4 |
0 |
if ($_[0] =~ /^\D/) |
|
678
|
2 |
2 |
if ($col_min == $col_max) { } |
|
706
|
14 |
2 |
if ($_[0] =~ /^\D/) |
|
710
|
3 |
13 |
if @_ != 4 |
|
715
|
1 |
12 |
if ($row1 == 0 and $col1 == 0 and $row2 == $self->{'_xls_rowmax'} - 1 and $col2 == $self->{'_xls_colmax'} - 1) |
|
739
|
2 |
0 |
if ($_[0] =~ /^\D/) |
|
743
|
0 |
2 |
if @_ != 4 |
|
776
|
4 |
0 |
if ($col =~ /^\D/) |
|
780
|
0 |
4 |
if $col >= $self->{'_xls_colmax'} |
|
787
|
0 |
4 |
if $col < $col_first or $col > $col_last |
|
792
|
0 |
4 |
unless @tokens == 3 or @tokens == 7 |
|
803
|
2 |
2 |
@tokens == 3 ? : |
|
804
|
2 |
2 |
@tokens == 3 ? : |
|
831
|
0 |
8 |
unless (exists $operators{$_}) |
|
870
|
2 |
12 |
if ($row1 == 0 and $row2 == $self->{'_xls_rowmax'} - 1) { } |
|
|
2 |
10 |
elsif ($col1 == 0 and $col2 == $self->{'_xls_colmax'} - 1) { } |
|
885
|
6 |
8 |
if ($range1 eq $range2) { } |
|
915
|
0 |
2 |
unless defined $option |
|
917
|
0 |
2 |
if ($option == 0) { } |
|
|
1 |
1 |
elsif ($option == 1) { } |
|
942
|
2 |
1 |
defined $_[0] ? : |
|
957
|
0 |
1 |
if (defined $_[0]) { } |
|
1023
|
0 |
0 |
if ($scale < 10 or $scale > 400) |
|
1044
|
0 |
1 |
if ($scale < 10 or $scale > 400) |
|
1067
|
0 |
0 |
if (defined $_[0]) { } |
|
1086
|
0 |
0 |
unless @_ == 2 |
|
1087
|
0 |
0 |
unless ref $_[1] eq 'CODE' |
|
1108
|
129 |
141 |
if ($_[0] =~ /^\D/) |
|
1115
|
0 |
270 |
unless defined $token |
|
1123
|
0 |
0 |
if ($token =~ /$re/) |
|
1125
|
0 |
0 |
if defined $match |
|
1131
|
26 |
244 |
if (ref $token eq 'ARRAY') { } |
|
|
0 |
244 |
elsif ($self->{'_leading_zeros'} and $token =~ /^0\d+$/) { } |
|
|
39 |
205 |
elsif ($token =~ /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/) { } |
|
|
6 |
199 |
elsif ($token =~ m[^[fh]tt?ps?://]) { } |
|
|
1 |
198 |
elsif ($token =~ /^mailto:/) { } |
|
|
0 |
198 |
elsif ($token =~ /^(?:in|ex)ternal:/) { } |
|
|
2 |
196 |
elsif ($token =~ /^=/) { } |
|
|
1 |
195 |
elsif ($token =~ /^{=.*}$/) { } |
|
|
2 |
193 |
elsif ($token eq '') { } |
|
1190
|
1 |
26 |
if ($_[0] =~ /^\D/) |
|
1195
|
0 |
27 |
if (ref $_[2] ne 'ARRAY') |
|
1209
|
6 |
90 |
if (ref $token eq 'ARRAY') { } |
|
1240
|
0 |
6 |
if ($_[0] =~ /^\D/) |
|
1245
|
0 |
6 |
if (ref $_[2] ne 'ARRAY') |
|
1290
|
8 |
0 |
if ($_[0] =~ /^\D/) |
|
1295
|
0 |
8 |
if (@_ < 3) |
|
1306
|
0 |
8 |
if $self->_check_dimensions($row, $col) |
|
1309
|
0 |
8 |
if ($length > $max_len) |
|
1316
|
0 |
8 |
if $self->_check_dimensions($row, $col) |
|
1322
|
1 |
7 |
unless ($self->{'_table'}[$row][$col]) |
|
1352
|
64 |
251 |
if (ref $format) { } |
|
1385
|
30 |
180 |
if ($cell =~ /\$?([A-Z]{1,3}):\$?([A-Z]{1,3})/) |
|
1392
|
33 |
147 |
if ($cell =~ /\$?([A-Z]{1,3}\$?\d+):\$?([A-Z]{1,3}\$?\d+)/) |
|
1399
|
147 |
0 |
if ($cell =~ /\$?([A-Z]{1,3}\$?\d+)/) |
|
1428
|
344 |
16 |
$1 eq '' ? : |
|
1430
|
344 |
16 |
$3 eq '' ? : |
|
1474
|
0 |
6 |
if $array[0] == 0 |
|
1478
|
0 |
6 |
if @array > 1000 |
|
1495
|
0 |
0 |
defined $_[0] ? : |
|
1496
|
0 |
0 |
defined $_[1] ? : |
|
1497
|
0 |
0 |
defined $_[2] ? : |
|
1501
|
0 |
0 |
if $self->{'_outline_on'} |
|
1531
|
0 |
39 |
if ($_[0] =~ /^\D/) |
|
1535
|
0 |
39 |
if (@_ < 3) |
|
1545
|
0 |
39 |
if $self->_check_dimensions($row, $col) |
|
1569
|
1 |
196 |
if ($_[0] =~ /^\D/) |
|
1573
|
0 |
197 |
if (@_ < 3) |
|
1586
|
12 |
185 |
if $self->_check_dimensions($row, $col) |
|
1588
|
0 |
185 |
if (length $str > $self->{'_xls_strmax'}) |
|
1594
|
0 |
185 |
if ($self->{'_table'}[$row][$col]) |
|
1621
|
3 |
0 |
if ($_[0] =~ /^\D/) |
|
1625
|
0 |
3 |
if (@_ < 3) |
|
1659
|
0 |
2 |
if ($_[0] =~ /^\D/) |
|
1664
|
0 |
2 |
if @_ < 2 |
|
1667
|
1 |
1 |
unless defined $_[2] |
|
1679
|
0 |
1 |
if $self->_check_dimensions($row, $col) |
|
1704
|
0 |
3 |
if ($_[0] =~ /^\D/) |
|
1708
|
0 |
3 |
if (@_ < 3) |
|
1720
|
0 |
3 |
if $self->_check_dimensions($row, $col) |
|
1723
|
1 |
2 |
if $formula =~ s/^{(.*)}$/$1/ |
|
1756
|
4 |
0 |
if ($_[0] =~ /^\D/) |
|
1760
|
0 |
4 |
if (@_ < 5) |
|
1776
|
0 |
4 |
if $row1 > $row2 |
|
1777
|
0 |
4 |
if $col1 > $col2 |
|
1781
|
0 |
4 |
if $self->_check_dimensions($row2, $col2) |
|
1787
|
1 |
3 |
if ($row1 == $row2 and $col1 == $col2) { } |
|
1871
|
0 |
7 |
if ($_[0] =~ /^\D/) |
|
1875
|
0 |
7 |
if (@_ < 3) |
|
1883
|
6 |
1 |
if ref $args[3] |
|
1897
|
4 |
3 |
unless defined $str |
|
1900
|
0 |
7 |
if $self->_check_dimensions($row, $col) |
|
1927
|
0 |
0 |
if ($_[0] =~ /^\D/) |
|
1932
|
0 |
0 |
if @_ < 5 |
|
1941
|
0 |
0 |
if ref $args[5] |
|
1947
|
0 |
0 |
if $url =~ /^internal:/ |
|
1948
|
0 |
0 |
if $url =~ /^external:/ |
|
1970
|
1 |
0 |
if ($_[0] =~ /^\D/) |
|
1974
|
0 |
1 |
if (@_ < 3) |
|
1984
|
0 |
1 |
if $self->_check_dimensions($row, $col) |
|
1990
|
0 |
1 |
unless (defined $date_time) |
|
2040
|
7 |
625 |
if $date_time =~ /[^0-9T:\-\.Z]/ |
|
2043
|
0 |
625 |
unless $date_time =~ /\dT|T\d/ |
|
2054
|
204 |
421 |
if ($time ne '') |
|
2056
|
204 |
0 |
if ($time =~ /^(\d\d):(\d\d)(:(\d\d(\.\d+)?))?/) { } |
|
2066
|
1 |
203 |
if $hour >= 24 |
|
2067
|
1 |
202 |
if $min >= 60 |
|
2068
|
2 |
200 |
if $sec >= 60 |
|
2076
|
0 |
621 |
if $date eq '' |
|
2080
|
619 |
2 |
if ($date =~ /^(\d\d\d\d)-(\d\d)-(\d\d)$/) { } |
|
2094
|
410 |
209 |
unless ($date_1904) |
|
2095
|
104 |
306 |
if $date eq '1899-12-31' |
|
2096
|
1 |
305 |
if $date eq '1900-01-00' |
|
2097
|
1 |
304 |
if $date eq '1900-02-29' |
|
2106
|
209 |
304 |
$date_1904 ? : |
|
2107
|
209 |
304 |
$date_1904 ? : |
|
2115
|
207 |
306 |
if $year % 4 == 0 and $year % 100 or $year % 400 == 0 |
|
2116
|
207 |
306 |
if $leap |
|
2120
|
6 |
507 |
if $year < $epoch or $year > 9999 |
|
2121
|
6 |
501 |
if $month < 1 or $month > 12 |
|
2122
|
6 |
495 |
if $day < 1 or $day > $mdays[$month - 1] |
|
2135
|
292 |
203 |
if $date_1904 == 0 and $days > 59 |
|
2170
|
0 |
43 |
if @_ < 2 |
|
2173
|
2 |
41 |
if $self->_check_dimensions($row, 0) |
|
2181
|
25 |
16 |
if ($height) |
|
2185
|
0 |
25 |
if $height == 0 |
|
2206
|
10 |
344 |
if ($row >= $self->{'_xls_rowmax'}) |
|
2207
|
6 |
338 |
if ($col >= $self->{'_xls_colmax'}) |
|
2211
|
48 |
290 |
if ($row < $self->{'_dim_rowmin'}) |
|
2212
|
125 |
213 |
if ($row > $self->{'_dim_rowmax'}) |
|
2213
|
54 |
284 |
if ($col < $self->{'_dim_colmin'}) |
|
2214
|
36 |
302 |
if ($col > $self->{'_dim_colmax'}) |
|
2289
|
41 |
7 |
unless @cols |
|
2296
|
24 |
31 |
unless ($span) |
|
2302
|
17 |
7 |
if $col != $previous + 1 |
|
2303
|
9 |
15 |
if $format |
|
2304
|
4 |
20 |
if $hidden |
|
2306
|
14 |
10 |
if $width |
|
2321
|
31 |
24 |
if (exists $self->{'_set_cols'}{$col + 1} and join('|', @{$self->{'_set_cols'}{$col};}) eq join('|', @{$self->{'_set_cols'}{$col + 1};})) |
|
2329
|
9 |
15 |
if $span |
|
2362
|
0 |
0 |
if ($rwFirst > $rwLast) |
|
2366
|
0 |
0 |
if ($colFirst > $colLast) |
|
2424
|
0 |
0 |
if ($self->{'_name'} eq $sheetname) { } |
|
2464
|
0 |
0 |
if ($self->{'_frozen'}) { } |
|
2466
|
0 |
0 |
unless defined $rwTop |
|
2467
|
0 |
0 |
unless defined $colLeft |
|
2471
|
0 |
0 |
unless defined $rwTop |
|
2472
|
0 |
0 |
unless defined $colLeft |
|
2487
|
0 |
0 |
unless (defined $pnnAct) |
|
2488
|
0 |
0 |
if $x != 0 and $y != 0 |
|
2489
|
0 |
0 |
if $x != 0 and $y == 0 |
|
2490
|
0 |
0 |
if $x == 0 and $y != 0 |
|
2491
|
0 |
0 |
if $x == 0 and $y == 0 |
|
2512
|
1 |
13 |
if $self->{'_orientation'} == 0 |
|
2513
|
1 |
13 |
if $self->{'_hcenter'} == 1 |
|
2514
|
1 |
13 |
if $self->{'_vcenter'} == 1 |
|
2516
|
0 |
14 |
if $self->{'_page_start'} > 0 |
|
2522
|
1 |
13 |
if $self->{'_margin_head'} != 0.5 |
|
2524
|
2 |
12 |
if $self->{'_header'} ne '' |
|
2530
|
1 |
13 |
if $self->{'_margin_foot'} != 0.5 |
|
2532
|
2 |
12 |
if $self->{'_footer'} ne '' |
|
2538
|
3 |
11 |
if $self->{'_margin_bottom'} != 1 |
|
2540
|
3 |
11 |
if $self->{'_margin_left'} != 0.75 |
|
2542
|
3 |
11 |
if $self->{'_margin_right'} != 0.75 |
|
2544
|
3 |
11 |
if $self->{'_margin_top'} != 1 |
|
2548
|
3 |
11 |
if @layout |
|
2549
|
2 |
12 |
if @header |
|
2550
|
2 |
12 |
if @footer |
|
2551
|
7 |
7 |
if @margins |
|
2566
|
2 |
10 |
if ($self->{'_fit_width'} > 1) |
|
2572
|
1 |
11 |
if ($self->{'_fit_height'} > 1) |
|
2583
|
0 |
12 |
if $self->{'_black_white'} |
|
2584
|
0 |
12 |
if $self->{'_page_order'} |
|
2585
|
0 |
12 |
if $self->{'_draft_quality'} |
|
2588
|
1 |
11 |
if ($self->{'_paper_size'}) |
|
2594
|
1 |
11 |
if ($self->{'_print_scale'} != 100) |
|
2601
|
2 |
10 |
if $self->{'_print_gridlines'} |
|
2602
|
1 |
11 |
if $self->{'_print_headers'} |
|
2617
|
53 |
2 |
unless (keys %{$$self{'_names'};} or $self->{'_repeat_rows'} or $self->{'_repeat_cols'}) |
|
2623
|
6 |
14 |
if ($self->{'_repeat_rows'} or $self->{'_repeat_cols'}) |
|
2647
|
2 |
18 |
if ($key eq '_FilterDatabase') |
|
2675
|
18 |
1 |
if ($_[0] =~ /^\D/) |
|
2678
|
0 |
19 |
if @_ != 6 |
|
2679
|
0 |
19 |
unless ref $_[5] |
|
2690
|
0 |
19 |
if $rwFirst == $rwLast and $colFirst == $colLast |
|
2694
|
2 |
17 |
if $rwFirst > $rwLast |
|
2695
|
1 |
18 |
if $colFirst > $colLast |
|
2699
|
0 |
19 |
if $self->_check_dimensions($rwLast, $colLast) |
|
2722
|
68 |
2 |
unless @{$self->{'_hbreaks'};} or @{$self->{'_vbreaks'};} |
|
2730
|
3 |
2 |
if (@{$self->{'_vbreaks'};}) |
|
2747
|
3 |
2 |
if (@{$self->{'_hbreaks'};}) |
|
2779
|
0 |
0 |
unless $self->{'_protect'} |
|
2805
|
0 |
12 |
if ($width < 1) { } |
|
2843
|
0 |
0 |
if $self->{'_zoom'} == 100 |
|
2862
|
0 |
0 |
if (@_ < 3) |
|
2899
|
25 |
48 |
unless $self->{'_dim_changed'} |
|
2934
|
2228194 |
142 |
unless $self->{'_set_rows'}{$row} or $self->{'_table'}[$row] |
|
2936
|
163 |
20 |
unless ($span) |
|
2942
|
42 |
121 |
if $row != $previous + 1 |
|
2943
|
11 |
152 |
if $height or $autofit |
|
2944
|
11 |
152 |
if $height |
|
2945
|
4 |
159 |
if $hidden |
|
2946
|
10 |
153 |
if $format |
|
2956
|
20 |
14 |
if (not $self->{'_table'}[$row] || $self->{'_table'}[$row + 1] and exists $self->{'_set_rows'}{$row} and exists $self->{'_set_rows'}{$row + 1} and join('|', @{$self->{'_set_rows'}{$row};}) eq join('|', @{$self->{'_set_rows'}{$row + 1};})) |
|
2967
|
6 |
157 |
if $span |
|
2971
|
147 |
16 |
if (my $row_ref = $self->{'_table'}[$row]) { } |
|
2978
|
254 |
33424 |
if $col_ref |
|
3019
|
60 |
194 |
if $col != $self->{'prev_col'} + 1 |
|
3026
|
19 |
16 |
if (exists $self->{'_merge'}{$row} and exists $self->{'_merge'}{$row}{$col}) |
|
3031
|
14 |
5 |
if $across |
|
3032
|
10 |
9 |
if $down |
|
3037
|
19 |
65 |
if $m_row == 0 and $m_col == 0 |
|
3052
|
8 |
1 |
if (exists $self->{'_comment'}{$row} and exists $self->{'_comment'}{$row}{$col}) |
|
3060
|
38 |
216 |
if $format |
|
3064
|
7 |
247 |
if ($datatype == $self->{'_datatypes'}{'Formula'}) |
|
3067
|
5 |
2 |
if $array_range |
|
3071
|
7 |
247 |
if ($datatype == $self->{'_datatypes'}{'HRef'}) |
|
3075
|
1 |
6 |
if defined $tip |
|
3085
|
39 |
215 |
if ($datatype == $self->{'_datatypes'}{'Number'}) { } |
|
|
184 |
31 |
elsif ($datatype == $self->{'_datatypes'}{'String'}) { } |
|
|
1 |
30 |
elsif ($datatype == $self->{'_datatypes'}{'DateTime'}) { } |
|
|
7 |
23 |
elsif ($datatype == $self->{'_datatypes'}{'Formula'}) { } |
|
|
7 |
16 |
elsif ($datatype == $self->{'_datatypes'}{'HRef'}) { } |
|
|
1 |
15 |
elsif ($datatype == $self->{'_datatypes'}{'Blank'}) { } |
|
|
1 |
14 |
elsif ($datatype == $self->{'_datatypes'}{'Comment'}) { } |
|
|
14 |
0 |
elsif ($datatype == $self->{'_datatypes'}{'Merge'}) { } |
|
3088
|
1 |
38 |
if $comment |
|
3099
|
5 |
179 |
if ($html) { } |
|
3102
|
3 |
181 |
if $comment |
|
3111
|
1 |
0 |
if $comment |
|
3118
|
1 |
6 |
if ($comment) { } |
|
3138
|
0 |
7 |
if ($self->convert_date_time($data)) { } |
|
|
0 |
7 |
elsif ($self->{'_leading_zeros'} and $data =~ /^0\d+$/) { } |
|
|
0 |
7 |
elsif ($data =~ /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/) { } |
|
3154
|
1 |
6 |
if $comment |
|
3162
|
0 |
1 |
if ($comment) { } |
|
3174
|
1 |
0 |
if ($comment) { } |
|
3210
|
39 |
187 |
if ($datatype eq 'Number') { } |
|
3384
|
16 |
71 |
if ($row_abs) { } |
|
3388
|
55 |
16 |
unless $row == $current_row |
|
3394
|
16 |
71 |
if ($col_abs) { } |
|
3398
|
36 |
35 |
unless $col == $current_col |
|
3435
|
4 |
6 |
if ($row_abs) { } |
|
3439
|
4 |
2 |
unless $row == $current_row |
|
3446
|
3 |
2 |
if ($row1 eq $row2) { } |
|
3484
|
0 |
12 |
if ($col > $self->{'_xls_colmax'}) |
|
3491
|
4 |
8 |
if ($col_abs) { } |
|
3495
|
8 |
0 |
unless $col == $current_col |
|
3501
|
4 |
2 |
if ($col_letter1 eq $col_letter2) { } |
|
3519
|
42 |
31 |
unless $options_changed |
|
3527
|
14 |
17 |
if ($setup_changed) |
|
3534
|
4 |
27 |
if $self->{'_fit_page'} |
|
3537
|
12 |
19 |
if ($print_changed) |
|
3544
|
1 |
30 |
if $self->{'_screen_gridlines'} == 0 |
|
3546
|
2 |
29 |
if $self->{'_filter_on'} |
|
3567
|
3 |
59 |
if ($self->{'_orientation'} == 0 or $self->{'_hcenter'} == 1 or $self->{'_vcenter'} == 1 or $self->{'_header'} ne '' or $self->{'_footer'} ne '' or $self->{'_margin_head'} != 0.5 or $self->{'_margin_foot'} != 0.5 or $self->{'_margin_left'} != 0.75 or $self->{'_margin_right'} != 0.75 or $self->{'_margin_top'} != 1 or $self->{'_margin_bottom'} != 1) |
|
3586
|
2 |
71 |
if ($self->{'_fit_width'} == 1 and $self->{'_fit_height'} == 1) |
|
3593
|
5 |
61 |
if ($self->{'_fit_width'} > 1 or $self->{'_fit_height'} > 1 or $self->{'_page_order'} == 1 or $self->{'_black_white'} == 1 or $self->{'_draft_quality'} == 1 or $self->{'_print_comments'} == 1 or $self->{'_paper_size'} != 0 or $self->{'_print_scale'} != 100 or $self->{'_print_gridlines'} == 1 or $self->{'_print_headers'} == 1 or @{$self->{'_hbreaks'};} > 0 or @{$self->{'_vbreaks'};} > 0) |
|
3612
|
26 |
47 |
if ($print_changed or $setup_changed) |
|
3621
|
1 |
72 |
if $self->{'_screen_gridlines'} == 0 |
|
3622
|
2 |
71 |
if $self->{'_filter_on'} |
|
3638
|
71 |
2 |
unless $self->{'_autofilter'} |
|
3675
|
4 |
4 |
if (defined $self->{'_filter_cols'}{$col}) |
|
3680
|
2 |
2 |
if $col != $prev_col + 1 |
|
3692
|
2 |
2 |
if (@tokens == 2) { } |
|
3745
|
2 |
20 |
if ($sheetname =~ /^Sheet\d+$/) { } |