|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
33
 | 
 0  | 
 0  | 
 unless ($resource)  | 
 
| 
43
 | 
 0  | 
 0  | 
 unless ($resource)  | 
 
| 
66
 | 
 0  | 
 0  | 
 unless ($type)  | 
 
| 
81
 | 
 0  | 
 0  | 
 if ($$self{'type'}) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($$self{'template'}) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($$self{'uri'}) { }  | 
 
| 
83
 | 
 0  | 
 0  | 
 unless my $template = ODF::lpOD::Common::template($$self{'type'})  | 
 
| 
85
 | 
 0  | 
 0  | 
 unless $$self{'container'} = 'ODF::lpOD::Container'->new('template', $template)  | 
 
| 
88
 | 
 0  | 
 0  | 
 if ($meta)  | 
 
| 
102
 | 
 0  | 
 0  | 
 unless $$self{'container'} = 'ODF::lpOD::Container'->new('template', $$self{'template'})  | 
 
| 
108
 | 
 0  | 
 0  | 
 unless $$self{'container'} = 'ODF::lpOD::Container'->new('uri', $$self{'uri'})  | 
 
| 
120
 | 
 0  | 
 0  | 
 unless $part_name and $$self{$part_name}  | 
 
| 
125
 | 
 0  | 
 0  | 
 if $$self{'container'}  | 
 
| 
134
 | 
 0  | 
 0  | 
 ODF::lpOD::XMLPart::class_of($name) ? :  | 
 
| 
144
 | 
 0  | 
 0  | 
 unless ($container or is_false($opt{'warning'}))  | 
 
| 
154
 | 
 0  | 
 0  | 
 unless my $container = $self->get_container  | 
 
| 
161
 | 
 0  | 
 0  | 
 unless my $container = $self->get_container  | 
 
| 
168
 | 
 0  | 
 0  | 
 unless my $container = $self->get_container  | 
 
| 
175
 | 
 0  | 
 0  | 
 unless my $container = $self->get_container('warning', 1)  | 
 
| 
178
 | 
 0  | 
 0  | 
 unless my $part_name = shift()  | 
 
| 
180
 | 
 0  | 
 0  | 
 unless ($$self{$part_name})  | 
 
| 
189
 | 
 0  | 
 0  | 
 unless ($xmlpart)  | 
 
| 
203
 | 
 0  | 
 0  | 
 unless $$self{'xmlparts'}  | 
 
| 
204
 | 
 0  | 
 0  | 
 wantarray ? :  | 
 
| 
216
 | 
 0  | 
 0  | 
 unless my $container = $self->get_container('warning', 1)  | 
 
| 
219
 | 
 0  | 
 0  | 
 if (is_xmlpart($part_name)) { }  | 
 
| 
256
 | 
 0  | 
 0  | 
 unless my $container = $self->get_container('warning', 1)  | 
 
| 
264
 | 
 0  | 
 0  | 
 unless ($$self{'container'})  | 
 
| 
275
 | 
 0  | 
 0  | 
 unless ($$self{'container'})  | 
 
| 
286
 | 
 0  | 
 0  | 
 unless ($$self{'container'})  | 
 
| 
295
 | 
 0  | 
 0  | 
 unless ($path)  | 
 
| 
297
 | 
 0  | 
 0  | 
 if ($opt{'type'} and $opt{'type'} =~ /^image/)  | 
 
| 
304
 | 
 0  | 
 0  | 
 if ($path)  | 
 
| 
307
 | 
 0  | 
 0  | 
 if ($manifest)  | 
 
| 
319
 | 
 0  | 
 0  | 
 unless my $source = shift()  | 
 
| 
320
 | 
 0  | 
 0  | 
 unless ($$self{'container'})  | 
 
| 
327
 | 
 0  | 
 0  | 
 unless ($filename)  | 
 
| 
337
 | 
 0  | 
 0  | 
 if (wantarray) { }  | 
 
| 
340
 | 
 0  | 
 0  | 
 unless ($buffer)  | 
 
| 
373
 | 
 0  | 
 0  | 
 unless ($$self{'mimetype'})  | 
 
| 
383
 | 
 0  | 
 0  | 
 unless ($$self{'container'})  | 
 
| 
394
 | 
 0  | 
 0  | 
 unless my $mt = $self->get_mimetype  | 
 
| 
402
 | 
 0  | 
 0  | 
 unless my $container = $self->get_container('warning', 1)  | 
 
| 
410
 | 
 0  | 
 0  | 
 unless $part_name  | 
 
| 
411
 | 
 0  | 
 0  | 
 unless my $part = $$self{$part_name}  | 
 
| 
412
 | 
 0  | 
 0  | 
 if is_true($$part{'update'})  | 
 
| 
424
 | 
 0  | 
 0  | 
 if ($part_name)  | 
 
| 
440
 | 
 0  | 
 0  | 
 unless my $origin = $doc->get_element($part, $path)  | 
 
| 
442
 | 
 0  | 
 0  | 
 unless my $destination = $self->get_element($part, $path)  | 
 
| 
454
 | 
 0  | 
 0  | 
 unless ($part)  | 
 
| 
467
 | 
 0  | 
 0  | 
 unless ($part)  | 
 
| 
484
 | 
 0  | 
 0  | 
 unless my $part = $self->get_part('content.xml')  | 
 
| 
491
 | 
 0  | 
 0  | 
 unless my $part = $self->get_part('content.xml')  | 
 
| 
518
 | 
 0  | 
 0  | 
 unless ($family)  | 
 
| 
524
 | 
 0  | 
 0  | 
 unless ($name)  | 
 
| 
582
 | 
 0  | 
 0  | 
 unless ($family)  | 
 
| 
586
 | 
 0  | 
 0  | 
 if ('ODF::lpOD::DataStyle'->is_numeric_family($family))  | 
 
| 
622
 | 
 0  | 
 0  | 
 $family ? :  | 
 
| 
652
 | 
 0  | 
 0  | 
 unless ($name and $family)  | 
 
| 
657
 | 
 0  | 
 0  | 
 if ($self->get_style($family, $name))  | 
 
| 
670
 | 
 0  | 
 0  | 
 if $context  | 
 
| 
673
 | 
 0  | 
 0  | 
 is_true($opt{'default'}) ? :  | 
 
| 
674
 | 
 0  | 
 0  | 
 if (is_true($opt{'default'}) or defined_false($opt{'automatic'})) { }  | 
 
| 
682
 | 
 0  | 
 0  | 
 if (is_true($opt{'automatic'})) { }  | 
 
| 
694
 | 
 0  | 
 0  | 
 is_true($opt{'automatic'}) ? :  | 
 
| 
700
 | 
 0  | 
 0  | 
 is_true($opt{'automatic'}) ? :  | 
 
| 
712
 | 
 0  | 
 0  | 
 unless ($context)  | 
 
| 
725
 | 
 0  | 
 0  | 
 unless my $context = $self->select_style_context($style, %opt)  | 
 
| 
727
 | 
 0  | 
 0  | 
 if (is_true($opt{'default'})) { }  | 
 
| 
735
 | 
 0  | 
 0  | 
 unless $self->check_stylename($style, $name)  | 
 
| 
747
 | 
 0  | 
 0  | 
 unless my $context = $self->select_style_context($style, %opt)  | 
 
| 
750
 | 
 0  | 
 0  | 
 unless $self->check_stylename($style, $name)  | 
 
| 
760
 | 
 0  | 
 0  | 
 unless my $context = $self->select_style_context($style)  | 
 
| 
761
 | 
 0  | 
 0  | 
 if $old  | 
 
| 
772
 | 
 0  | 
 0  | 
 unless ($context)  | 
 
| 
778
 | 
 0  | 
 0  | 
 unless my $ds = $style->make_default  | 
 
| 
780
 | 
 0  | 
 0  | 
 if $old  | 
 
| 
789
 | 
 0  | 
 0  | 
 if ($class)  | 
 
| 
791
 | 
 0  | 
 0  | 
 if ($class eq 'ARRAY')  | 
 
| 
797
 | 
 0  | 
 0  | 
 unless ($class and $style->isa('ODF::lpOD::Style'))  | 
 
| 
804
 | 
 0  | 
 0  | 
 if (is_true($opt{'default'}))  | 
 
| 
827
 | 
 0  | 
 0  | 
 unless exists $opt{'automatic'}  | 
 
| 
828
 | 
 0  | 
 0  | 
 unless $opt{'part'}  | 
 
| 
853
 | 
 0  | 
 0  | 
 if (ref $from) { }  | 
 
| 
855
 | 
 0  | 
 0  | 
 if $from->isa('ODF::lpOD::Document')  | 
 
| 
861
 | 
 0  | 
 0  | 
 unless ($source)  | 
 
| 
872
 | 
 0  | 
 0  | 
 unless ref $from  | 
 
| 
960
 | 
 0  | 
 0  | 
 unless ($name)  | 
 
| 
964
 | 
 0  | 
 0  | 
 if ($self->get_variable($name, 'class', undef))  | 
 
| 
995
 | 
 0  | 
 0  | 
 if ($var)  | 
 
| 
999
 | 
 0  | 
 0  | 
 if ($context) { }  | 
 
| 
1082
 | 
 0  | 
 0  | 
 unless my $name = shift()  | 
 
| 
1083
 | 
 0  | 
 0  | 
 $ODF_PARTS{$name} ? :  | 
 
| 
1133
 | 
 0  | 
 0  | 
 if ($$self{'type'}) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($$self{'template'}) { }  | 
 
| 
1135
 | 
 0  | 
 0  | 
 unless $$self{'uri'} = ODF::lpOD::Common::template($$self{'type'})  | 
 
| 
1152
 | 
 0  | 
 0  | 
 defined $$self{'zip'} ? :  | 
 
| 
1155
 | 
 0  | 
 0  | 
 if (UNIVERSAL::isa($source, 'IO::File')) { }  | 
 
| 
1157
 | 
 0  | 
 0  | 
 if ($zip->readFromFileHandle($source) != 0)  | 
 
| 
1165
 | 
 0  | 
 0  | 
 unless (-r -f -e $source)  | 
 
| 
1170
 | 
 0  | 
 0  | 
 if ($zip->read($source) != 0)  | 
 
| 
1220
 | 
 0  | 
 0  | 
 unless my $part_name = shift()  | 
 
| 
1221
 | 
 0  | 
 0  | 
 grep(($_ eq $part_name), $self->parts) ? :  | 
 
| 
1243
 | 
 0  | 
 0  | 
 is_true($opt{'string'}) ? :  | 
 
| 
1246
 | 
 0  | 
 0  | 
 if ($p) { }  | 
 
| 
1248
 | 
 0  | 
 0  | 
 if (is_true($compress)) { }  | 
 
| 
1272
 | 
 0  | 
 0  | 
 unless $self->contains($part_name)  | 
 
| 
1275
 | 
 0  | 
 0  | 
 unless ($status)  | 
 
| 
1288
 | 
 0  | 
 0  | 
 unless my $part_name = translate_part_name(shift())  | 
 
| 
1311
 | 
 0  | 
 0  | 
 unless my $path = shift()  | 
 
| 
1318
 | 
 0  | 
 0  | 
 unless ($destination)  | 
 
| 
1322
 | 
 0  | 
 0  | 
 if ($mimetype and $mimetype =~ /^image/) { }  | 
 
| 
1349
 | 
 0  | 
 0  | 
 unless ($part_name)  | 
 
| 
1354
 | 
 0  | 
 0  | 
 unless ($self->contains($part_name))  | 
 
| 
1360
 | 
 0  | 
 0  | 
 $status == 0 ? :  | 
 
| 
1368
 | 
 0  | 
 0  | 
 unless my $part_name = translate_part_name(shift())  | 
 
| 
1384
 | 
 0  | 
 0  | 
 if (is_true($$self{'read_only'}))  | 
 
| 
1386
 | 
 0  | 
 0  | 
 unless (defined $opt{'target'} and $opt{'target'} ne $$self{'uri'})  | 
 
| 
1415
 | 
 0  | 
 0  | 
 if (not defined $target) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (UNIVERSAL::isa($target, 'IO::File')) { }  | 
 
| 
1428
 | 
 0  | 
 0  | 
 unless ($status == 0)  | 
 
| 
1459
 | 
 0  | 
 0  | 
 if ref $part  | 
 
| 
1492
 | 
 0  | 
 0  | 
 unless (ref $container and $container->isa('ODF::lpOD::Container'))  | 
 
| 
1498
 | 
 0  | 
 0  | 
 unless (class_of($part_name))  | 
 
| 
1528
 | 
 0  | 
 0  | 
 unless (defined $$self{'update'})  | 
 
| 
1530
 | 
 0  | 
 0  | 
 $$self{'roots'} ? :  | 
 
| 
1533
 | 
 0  | 
 0  | 
 unless ($class)  | 
 
| 
1538
 | 
 0  | 
 0  | 
 if is_true($$self{'pretty'})  | 
 
| 
1551
 | 
 0  | 
 0  | 
 if ($$self{'load'})  | 
 
| 
1554
 | 
 0  | 
 0  | 
 unless (is_true($status))  | 
 
| 
1568
 | 
 0  | 
 0  | 
 unless (defined $xml)  | 
 
| 
1575
 | 
 0  | 
 0  | 
 UNIVERSAL::isa($xml, 'IO::File') ? :  | 
 
| 
1578
 | 
 0  | 
 0  | 
 unless ($r)  | 
 
| 
1613
 | 
 0  | 
 0  | 
 if $$self{'context'}  | 
 
| 
1615
 | 
 0  | 
 0  | 
 if $$self{'context'}  | 
 
| 
1617
 | 
 0  | 
 0  | 
 if $$self{'twig'}  | 
 
| 
1655
 | 
 0  | 
 0  | 
 if ($tag)  | 
 
| 
1657
 | 
 0  | 
 0  | 
 unless $tag =~ /:/  | 
 
| 
1661
 | 
 0  | 
 0  | 
 $context ? :  | 
 
| 
1691
 | 
 0  | 
 0  | 
 if is_true($opt{'pretty'})  | 
 
| 
1694
 | 
 0  | 
 0  | 
 defined $output ? :  | 
 
| 
1702
 | 
 0  | 
 0  | 
 unless ($$self{'container'})  | 
 
| 
1709
 | 
 0  | 
 0  | 
 if ($opt{'storage'}) { }  | 
 
| 
1768
 | 
 0  | 
 0  | 
 unless ($$self{'tracked_changes'})  | 
 
| 
1780
 | 
 0  | 
 0  | 
 unless ($context)  | 
 
| 
1792
 | 
 0  | 
 0  | 
 unless ($context)  | 
 
| 
1818
 | 
 0  | 
 0  | 
 unless my $name = shift()  | 
 
| 
1830
 | 
 0  | 
 0  | 
 unless ($name)  | 
 
| 
1837
 | 
 0  | 
 0  | 
 if $fd  | 
 
| 
1852
 | 
 0  | 
 0  | 
 unless my $origin = $doc->get_element($part, $path)  | 
 
| 
1854
 | 
 0  | 
 0  | 
 unless my $destination = $self->get_element($path)  | 
 
| 
1873
 | 
 0  | 
 0  | 
 if ($part ne 'styles.xml')  | 
 
| 
1878
 | 
 0  | 
 0  | 
 if (ref $from) { }  | 
 
| 
1880
 | 
 0  | 
 0  | 
 if $from->isa('ODF::lpOD::Document')  | 
 
| 
1886
 | 
 0  | 
 0  | 
 unless ($source)  | 
 
| 
1893
 | 
 0  | 
 0  | 
 if (is_true($opt{'automatic'}))  | 
 
| 
1898
 | 
 0  | 
 0  | 
 if (is_true($opt{'common'}))  | 
 
| 
1903
 | 
 0  | 
 0  | 
 if (is_true($opt{'master'}))  | 
 
| 
1908
 | 
 0  | 
 0  | 
 if (is_true($opt{'fonts'}))  | 
 
| 
1914
 | 
 0  | 
 0  | 
 unless ref $from  | 
 
| 
1945
 | 
 0  | 
 0  | 
 unless ($context)  | 
 
| 
1956
 | 
 0  | 
 0  | 
 unless ($body)  | 
 
| 
1962
 | 
 0  | 
 0  | 
 if ($old)  | 
 
| 
2022
 | 
 0  | 
 0  | 
 unless ($$self{'body'})  | 
 
| 
2053
 | 
 0  | 
 0  | 
 $stat ? :  | 
 
| 
2082
 | 
 0  | 
 0  | 
 wantarray ? :  | 
 
| 
2091
 | 
 0  | 
 0  | 
 if $_->get_text eq $kw  | 
 
| 
2113
 | 
 0  | 
 0  | 
 unless my $expr = shift()  | 
 
| 
2121
 | 
 0  | 
 0  | 
 unless my $expr = shift()  | 
 
| 
2135
 | 
 0  | 
 0  | 
 unless my $name = shift()  | 
 
| 
2136
 | 
 0  | 
 0  | 
 ref $name ? :  | 
 
| 
2145
 | 
 0  | 
 0  | 
 unless $e  | 
 
| 
2148
 | 
 0  | 
 0  | 
 wantarray ? :  | 
 
| 
2161
 | 
 0  | 
 0  | 
 unless (is_odf_datatype($type))  | 
 
| 
2166
 | 
 0  | 
 0  | 
 unless ($name)  | 
 
| 
2184
 | 
 0  | 
 0  | 
 wantarray ? :  | 
 
| 
2226
 | 
 0  | 
 0  | 
 unless ($action and $object)  | 
 
| 
2241
 | 
 0  | 
 0  | 
 $e ? :  | 
 
| 
2245
 | 
 0  | 
 0  | 
 unless ($e)  | 
 
| 
2251
 | 
 0  | 
 0  | 
 if ($object =~ /date$/) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($object =~ /creator$/) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($object =~ /generator$/) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($object =~ /cycles$/) { }  | 
 
| 
2253
 | 
 0  | 
 0  | 
 if (not $v) { }  | 
 
| 
2264
 | 
 0  | 
 0  | 
 unless $v  | 
 
| 
2272
 | 
 0  | 
 0  | 
 unless $v  | 
 
| 
2276
 | 
 0  | 
 0  | 
 unless ($v)  | 
 
| 
2329
 | 
 0  | 
 0  | 
 unless (defined $opt{'type'})  | 
 
| 
2337
 | 
 0  | 
 0  | 
 unless defined $type  | 
 
| 
2338
 | 
 0  | 
 0  | 
 if ($opt{'type'} eq '')  | 
 
| 
2340
 | 
 0  | 
 0  | 
 if $type eq ''  | 
 
| 
2343
 | 
 0  | 
 0  | 
 if $type =~ /$opt{'type'}/  | 
 
| 
2362
 | 
 0  | 
 0  | 
 unless ($path)  | 
 
| 
2368
 | 
 0  | 
 0  | 
 unless ($e)  | 
 
| 
2382
 | 
 0  | 
 0  | 
 if $e  |