Branch Coverage

blib/lib/Geo/OGR.pm
Criterion Covered Total %
branch 358 688 52.0


line true false branch
102 0 0 if defined $self
106 0 0 unless $_[0]->isa('HASH')
108 0 0 unless defined $self
110 0 0 if (exists $OWNER{$self})
206 22 22 unless ($self->isa('SCALAR'))
207 0 22 unless $self->isa('HASH')
209 0 22 unless defined $self
214 22 22 if (exists $OWNER{$self})
219 0 44 if ($code)
231 10 3 if ($arg and $arg eq 'Geo::OGR::FeatureDefn') { }
237 12 0 if defined $self
310 41 41 unless ($self->isa('SCALAR'))
311 0 41 unless $self->isa('HASH')
313 0 41 unless defined $self
318 4 78 if (exists $OWNER{$self})
323 0 82 if ($code)
337 0 4 if (@_ == 1 and ref $_[0] eq 'HASH') { }
4 0 elsif (@_ and @_ % 2 == 0) { }
343 0 4 if $fields and ref $fields ne 'ARRAY'
348 2 2 if ($gt) { }
2 0 elsif ($fields) { }
353 0 4 if exists $schema{'StyleIgnored'}
356 17 1 if (ref $fd eq 'HASH')
357 3 14 if ($fd->{'GeometryType'} or exists $Geo::OGR::Geometry::TYPE_STRING2INT{$fd->{'Type'}}) { }
363 15 3 if (&blessed($d) and $d->isa('Geo::OGR::FieldDefn')) { }
3 0 elsif (&blessed($d) and $d->isa('Geo::OGR::GeomFieldDefn')) { }
366 1 2 if $gt
414 72 72 unless ($self->isa('SCALAR'))
415 0 72 unless $self->isa('HASH')
417 0 72 unless defined $self
422 32 112 if (exists $Geo::OGR::FieldDefn::OWNER{$self})
427 0 144 if ($code)
438 1 31 if (@_ == 0) { }
0 31 elsif (@_ == 1 and not ref $_[0]) { }
0 31 elsif (@_ == 2 and not $Geo::OGR::FieldDefn::SCHEMA_KEYS{$_[0]}) { }
445 30 1 @_ % 2 == 0 ? :
447 61 1 if ($Geo::OGR::FieldDefn::SCHEMA_KEYS{$key}) { }
450 0 1 if $key ne 'Index'
506 40 40 unless $_[0]->isa('HASH')
508 0 40 unless defined $self
510 10 30 if (exists $Geo::OGR::GeomFieldDefn::OWNER{$self})
520 0 10 if (@_ == 0) { }
0 10 elsif (@_ == 1) { }
0 10 elsif (@_ == 2 and not $Geo::OGR::GeomFieldDefn::SCHEMA_KEYS{$_[0]}) { }
527 10 0 @_ % 2 == 0 ? :
529 19 0 if ($Geo::OGR::GeomFieldDefn::SCHEMA_KEYS{$key}) { }
532 0 0 if $key ne 'Index' and $key ne 'GeometryType'
578 52 52 unless ($self->isa('SCALAR'))
579 0 52 unless $self->isa('HASH')
581 0 52 unless defined $self
586 23 81 if (exists $Geo::OGR::Geometry::OWNER{$self})
591 0 104 if ($code)
602 7 19 if (@_ == 1 and ref $_[0] eq 'HASH') { }
18 1 elsif (@_ % 2 == 0) { }
615 0 26 if ($hex) { }
622 1 25 if ($hex)
633 16 10 if (defined $wkt) { }
1 9 elsif (defined $wkb) { }
1 8 elsif (defined $gml) { }
1 7 elsif (defined $json) { }
7 0 elsif (defined $type) { }
0 0 elsif (defined $arc) { }
644 0 7 if Geo::OGR::GT_HasZ($type)
645 0 7 if Geo::OGR::GT_HasM($type)
651 25 0 if defined $self
652 5 20 if $points
899 3 14 unless @_
908 0 0 if $driver->TestCapability('VECTOR')
918 1 44 if $driver->TestCapability('VECTOR')
926 0 0 if $p[1]
928 0 0 unless $dataset
935 0 0 if $p[1]
937 0 0 unless $dataset
953 0 0 if $p[2] and $p[2]{'STRICT'} eq 'NO'
961 0 0 if $p[1]
963 0 0 unless $dataset
990 24 24 unless ($self->isa('SCALAR'))
991 0 24 unless $self->isa('HASH')
993 0 24 unless defined $self
995 0 48 if ($Geo::GDAL::Dataset::RESULT_SET{$self})
1000 0 48 if (exists $Geo::OGR::Layer::OWNER{$self})
1017 0 1 if @_ == 0
1021 13 5 if _TestCapability($self, $Geo::OGR::Layer::CAPABILITIES{$cap})
1049 0 21 if (@_ == 0) { }
13 8 elsif (ref $_[0] eq 'HASH') { }
8 0 elsif (@_ % 2 == 0) { }
1060 0 21 if (&blessed($params{'Defn'}) and $params{'Defn'}->isa('Geo::OGR::FieldDefn')) { }
0 21 elsif (&blessed($_[0]) and $params{'Defn'}->isa('Geo::OGR::GeomFieldDefn')) { }
1067 2 19 if (exists $params{'GeometryType'})
1071 15 6 if (exists $Geo::OGR::FieldDefn::TYPE_STRING2INT{$params{'Type'}}) { }
6 0 elsif (exists $Geo::OGR::Geometry::TYPE_STRING2INT{$params{'Type'}}) { }
1086 1 0 @_ % 2 == 0 ? :
1087 0 1 if (&blessed($param) and $param->isa('Geo::OGR::FieldDefn')) { }
1092 1 0 if exists $param->{'Name'}
1093 1 0 if exists $param->{'Type'}
1094 0 1 if exists $param->{'Width'} or exists $param->{'Precision'}
1095 0 1 if exists $param->{'Nullable'}
1096 0 1 if exists $param->{'Default'}
1109 0 7 if @_
1110 0 7 if (@_ and @_ % 2 == 0)
1112 0 0 if ($schema{'Fields'})
1126 1 0 defined $row{'FID'} ? :
1127 0 1 unless $feature
1129 0 1 if (defined wantarray) { }
1134 1 0 if $update
1135 1 0 unless defined wantarray
1142 1 0 defined $FID ? :
1143 0 1 unless $feature
1145 0 1 if $set
1147 1 0 if (defined wantarray) { }
1152 0 1 if $set
1153 0 1 unless defined wantarray
1159 0 0 if @_ == 1
1160 0 0 if @_ == 4
1161 0 0 unless defined wantarray
1168 0 9 unless ref $feature
1170 6 3 if (ref $feature eq 'HASH') { }
3 0 elsif (ref $feature eq 'ARRAY') { }
0 0 elsif (&blessed($feature) and $feature->isa('Geo::OGR::Feature')) { }
1178 7 1 unless defined wantarray
1199 0 3 if $in_place
1211 0 0 if ($in_place)
1250 2 0 if $fd
1256 0 0 @_ == 2 ? :
1259 0 0 if defined $sr
1260 0 0 if defined wantarray
1288 13 4 if ($index < 0 and $name =~ /^\d+$/)
1290 13 0 if $name >= 0 and $name < $self->GetFieldCount
1292 0 17 if $index < 0
1299 15 1 if ($index < 0 and $name =~ /^\d+$/)
1301 15 0 if $name >= 0 and $name < $self->GetGeomFieldCount
1303 0 16 if $index < 0
1311 0 8 if @_
1312 0 8 if (@_ and @_ % 2 == 0)
1314 0 0 if ($schema{'Fields'})
1332 0 8 wantarray ? :
1338 0 1 if $Geo::OGR::Feature::DEFNS{tied %$self} or $Geo::OGR::Layer::DEFNS{tied %$self}
1340 0 1 if (@_ == 0) { }
0 1 elsif (ref $_[0] eq 'HASH') { }
1 0 elsif (@_ % 2 == 0) { }
1347 0 1 if (exists $Geo::OGR::FieldDefn::TYPE_STRING2INT{$params{'Type'}}) { }
1358 0 0 if $Geo::OGR::Feature::DEFNS{tied %$self} or $Geo::OGR::Layer::DEFNS{tied %$self}
1360 0 0 if $self->_GetFieldDefn($i)->Name eq $name
1363 0 0 if $self->_GetGeomFieldDefn($i)->Name eq $name
1394 0 2 if $Geo::OGR::Feature::DEFNS{tied %$self} or $Geo::OGR::Layer::DEFNS{tied %$self}
1395 2 0 if (defined $type)
1399 0 2 if defined wantarray
1405 0 0 if @_
1406 0 0 if defined wantarray
1411 0 8 if @_
1412 8 0 if defined wantarray
1441 7 2 unless $@
1449 2 2 if ($@) { }
1458 0 0 if @_
1459 0 0 unless defined wantarray
1466 61 40 if ($index < 0 and $name =~ /^\d+$/)
1468 60 1 if $name >= 0 and $name < $self->GetFieldCount
1470 6 95 if $index < 0
1477 19 5 if ($index < 0 and $name =~ /^\d+$/)
1479 19 0 if $name >= 0 and $name < $self->GetGeomFieldCount
1481 1 23 if $index < 0
1499 0 0 if @_
1500 0 0 unless defined wantarray
1516 0 0 if @_
1525 7 3 if (@_)
1527 0 7 if (@_ == 1 and ref $_[0] eq 'HASH') { }
7 0 elsif (@_ and @_ % 2 == 0) { }
1534 1 6 if defined $row{'FID'}
1537 1 11 if $name eq 'FID'
1538 3 8 if ($name eq 'Geometry')
1544 7 4 if ($self->GetFieldDefnRef($i)->Name eq $name)
1550 7 1 if $f
1552 1 0 if ($self->GetGeomFieldDefnRef($i)->Name eq $name)
1558 1 0 if $f
1562 7 3 unless defined wantarray
1580 3 4 if (@_)
1582 1 2 if @_ == $nf + $ngf + 1
1583 1 2 if defined $FID
1585 1 2 if (@$values != $nf + $ngf)
1597 2 4 unless defined wantarray
1622 11 29 unless IsFieldSet($self, $field)
1624 13 16 if ($type == $Geo::OGR::OFTInteger)
1627 1 15 if ($type == $Geo::OGR::OFTInteger64)
1630 2 13 if ($type == $Geo::OGR::OFTReal)
1633 4 9 if ($type == $Geo::OGR::OFTString)
1636 1 8 if ($type == $Geo::OGR::OFTIntegerList)
1638 0 1 wantarray ? :
1640 1 7 if ($type == $Geo::OGR::OFTInteger64List)
1642 0 1 wantarray ? :
1644 1 6 if ($type == $Geo::OGR::OFTRealList)
1646 0 1 wantarray ? :
1648 1 5 if ($type == $Geo::OGR::OFTStringList)
1650 0 1 wantarray ? :
1652 2 3 if ($type == $Geo::OGR::OFTBinary)
1655 1 2 if ($type == $Geo::OGR::OFTDate)
1658 0 1 wantarray ? :
1660 1 1 if ($type == $Geo::OGR::OFTTime)
1662 0 1 wantarray ? :
1664 1 0 if ($type == $Geo::OGR::OFTDateTime)
1666 0 1 wantarray ? :
1681 1 24 if (@_ == 0 or not defined $arg)
1685 0 24 if @_ > 1
1687 7 17 if (ref $arg) { }
1688 1 6 if ($type == $Geo::OGR::OFTIntegerList) { }
1 5 elsif ($type == $Geo::OGR::OFTInteger64List) { }
1 4 elsif ($type == $Geo::OGR::OFTRealList) { }
1 3 elsif ($type == $Geo::OGR::OFTStringList) { }
1 2 elsif ($type == $Geo::OGR::OFTDate) { }
1 1 elsif ($type == $Geo::OGR::OFTTime) { }
1 0 elsif ($type == $Geo::OGR::OFTDateTime) { }
0 0 elsif ($type == $Geo::OGR::OFTInteger64) { }
1720 1 16 if ($type == $Geo::OGR::OFTBinary) { }
1 15 elsif ($type == $Geo::OGR::OFTInteger64) { }
15 0 elsif ($type == $Geo::OGR::OFTInteger or $type == $Geo::OGR::OFTReal or $type == $Geo::OGR::OFTString) { }
1742 14 5 if @_
1743 16 3 if defined wantarray
1748 19 5 @_ > 0 && ref $_[0] eq '' || @_ > 2 && @_ % 2 == 1 ? :
1751 0 23 if (@_ and @_ % 2 == 0) { }
1756 11 12 if ($geometry)
1758 4 7 if (&blessed($geometry) and $geometry->isa('Geo::OGR::Geometry')) { }
7 0 elsif (ref $geometry eq 'HASH') { }
1760 0 4 if $type ne 'Unknown' and $type ne $gtype
1765 0 4 if $@
1772 0 7 if $type ne 'Unknown' and $type ne $gtype
1777 0 7 if $@
1782 7 16 unless defined wantarray
1784 0 16 unless $geometry
1793 0 0 if @_ <= 2
1795 0 0 if @_ <= 3
1855 33 9 if (@_)
1856 1 32 @_ % 2 == 0 ? :
1858 296 1 unless exists $params->{$key}
1860 0 1 if $@
1863 32 10 unless defined wantarray
1868 0 10 wantarray ? :
1875 0 41 if @_
1876 41 0 if defined wantarray
1881 0 10 if (defined $type)
1882 0 0 unless exists $Geo::OGR::FieldDefn::TYPE_STRING2INT{$type}
1886 10 0 if defined wantarray
1891 0 10 if (defined $sub_type)
1892 0 0 unless exists $Geo::OGR::FieldDefn::SUB_TYPE_STRING2INT{$sub_type}
1896 10 0 if defined wantarray
1901 0 10 if (defined $justify)
1902 0 0 unless exists $Geo::OGR::FieldDefn::JUSTIFY_STRING2INT{$justify}
1903 0 0 if exists $Geo::OGR::FieldDefn::JUSTIFY_STRING2INT{$justify}
1906 10 0 if defined wantarray
1911 1 10 if @_
1912 10 1 if defined wantarray
1917 0 10 if @_
1918 10 0 if defined wantarray
1923 0 10 if @_
1924 10 0 if defined wantarray
1929 0 10 if @_
1930 10 0 if defined wantarray
1935 0 10 if @_
1936 10 0 if defined wantarray
1952 10 10 if (@_)
1953 0 10 @_ % 2 == 0 ? :
1955 50 0 unless exists $params->{$key}
1957 0 0 if $@
1960 10 10 unless defined wantarray
1965 0 10 wantarray ? :
1972 0 17 if @_
1973 17 0 if defined wantarray
1978 0 23 if (defined $type)
1982 23 0 if defined wantarray
1992 0 10 if @_
1993 10 0 if defined wantarray
1998 0 10 if @_
1999 10 0 if defined wantarray
2004 0 10 if @_
2005 10 0 if defined wantarray
2071 0 0 if (exists $default{$p}) { }
2080 0 0 unless ref $p{'Center'} eq 'ARRAY'
2091 0 6 if ($f =~ /text/i) { }
6 0 elsif ($f =~ /wkt/i) { }
0 0 elsif ($f =~ /binary/i) { }
0 0 elsif ($f =~ /wkb/i) { }
0 0 elsif ($f =~ /gml/i) { }
0 0 elsif ($f =~ /kml/i) { }
0 0 elsif ($f =~ /json/i) { }
2094 6 0 if ($f =~ /iso/i) { }
2102 0 0 if ($f =~ /iso/i) { }
0 0 elsif ($f =~ /ewkb/i) { }
0 0 elsif ($f =~ /hex/i) { }
2129 0 0 if length $x == 1
2138 0 0 if ($srid) { }
2142 0 0 if (length $s > 2) { }
0 0 elsif (length $s > 1) { }
2184 9 0 if (not $has_z || $has_m) { }
0 0 elsif ($has_z and not $has_m) { }
0 0 elsif (not $has_z and $has_m) { }
2200 1 0 if (not $has_z || $has_m) { }
0 0 elsif ($has_z and not $has_m) { }
0 0 elsif (not $has_z and $has_m) { }
2218 9 0 if (not $has_z || $has_m) { }
0 0 elsif ($has_z and not $has_m) { }
0 0 elsif (not $has_z and $has_m) { }
2228 2 7 wantarray ? :
2234 1 1 if (@_)
2237 1 0 if (Geo::OGR::GT_Flatten($t) == $Geo::OGR::wkbPoint)
2240 1 0 if (not $has_z || $has_m) { }
0 0 elsif ($has_z or $has_m) { }
2241 0 1 if @_ > 2
2244 0 0 if @_ > 3
2247 0 0 if @_ > 4
2251 0 1 unless defined $i
2254 1 1 unless defined wantarray
2256 1 0 wantarray ? :
2265 0 11 if Geo::OGR::GT_HasZ($t)
2266 0 11 if Geo::OGR::GT_HasM($t)
2269 7 4 if ($points)
2271 0 7 if ($t eq 'Unknown' or $t eq 'None' or $t eq 'GeometryCollection') { }
6 1 elsif ($t eq 'Point') { }
1 0 elsif ($t eq 'LineString' or $t eq 'LinearRing' or $t eq 'CircularString') { }
0 0 elsif ($t eq 'Polygon') { }
0 0 elsif ($t eq 'MultiPoint') { }
0 0 elsif ($t eq 'MultiLineString') { }
0 0 elsif ($t eq 'MultiPolygon') { }
2275 0 6 if (ref $points->[0]) { }
2287 0 0 if $has_z
2288 0 0 if $has_m
2312 7 4 unless defined wantarray
2320 0 4 if ($n) { }
2326 2 2 if ($n == 1) { }
2350 0 0 if $@
2399 1 0 if ($n > 0) { }
2424 134 1 if (defined $type) { }
2433 0 0 unless exists $Geo::OGR::Geometry::TYPE_STRING2INT{$type}
2435 0 0 if $modifier =~ /flat/i
2436 0 0 if $modifier =~ /z/i
2437 0 0 if $modifier =~ /collection/i
2438 0 0 if $modifier =~ /curve/i
2439 0 0 if $modifier =~ /linear/i
2445 0 0 unless exists $Geo::OGR::Geometry::TYPE_STRING2INT{$type}
2447 0 0 if (defined $type2) { }
2448 0 0 unless exists $Geo::OGR::Geometry::TYPE_STRING2INT{$type2}
2451 0 0 if $test =~ /subclass/i
2453 0 0 if $test =~ /z/i
2454 0 0 if $test =~ /subclass/i
2455 0 0 if $test =~ /curve/i
2456 0 0 if $test =~ /surface/i
2457 0 0 if $test =~ /linear/i