1use strict; 2use warnings; 3use Scalar::Util 'blessed'; 4use Test::More qw(no_plan); 5BEGIN { use_ok('Geo::GDAL') }; 6 7# Drivers, DriverNames, Driver 8# 9# Geo::GDAL 10# Geo::OGR 11 12for my $method (qw/Drivers DriverNames Driver/) { 13 ok(Geo::GDAL->can($method), "$method exists"); 14 ok(Geo::OGR->can($method), "$method exists"); 15} 16 17for my $driver (Geo::GDAL::Drivers()) { 18 ok($driver->TestCapability('RASTER'), $driver->Name." is a raster driver"); 19} 20 21for my $driver (Geo::OGR::Drivers()) { 22 ok($driver->TestCapability('VECTOR'), $driver->Name." is a vector driver"); 23} 24 25# Open, OpenShared, OpenEx 26# 27# Geo::GDAL: Open, OpenShared, OpenEx 28# Geo::OGR: Open, OpenShared 29# Geo::GDAL::Driver: Open 30# Geo::OGR::Driver: Open 31# Geo::GDAL::Dataset: Open, OpenShared 32# Geo::OGR::DataSource: Open, OpenShared 33 34for my $method (qw/Open OpenShared OpenEx/) { 35 ok(Geo::GDAL->can($method), "$method exists"); 36 } 37 38for my $method (qw/Open OpenShared/) { 39 ok(Geo::OGR->can($method), "$method exists"); 40 ok(Geo::GDAL::Dataset->can($method), "$method exists"); 41 ok(Geo::OGR::DataSource->can($method), "$method exists"); 42} 43 44for my $method (qw/Open/) { 45 ok(Geo::GDAL::Driver->can($method), "$method exists"); 46 ok(Geo::OGR::Driver->can($method), "$method exists"); 47} 48 49# Create, Copy 50# 51# Geo::GDAL::Driver 52# Geo::OGR::Driver 53 54for my $method (qw/Create Copy/) { 55 ok(Geo::GDAL::Driver->can($method), "$method exists"); 56 ok(Geo::OGR::Driver->can($method), "$method exists"); 57} 58 59{ 60 my $ds = Geo::GDAL::Driver('MEM')->Create(); 61 ok($ds, "MEM Create works."); 62} 63 64{ 65 my $ds = Geo::OGR::Driver('Memory')->Create(); 66 ok($ds, "Memory Create works."); 67} 68 69{ 70 my $ds = Geo::GDAL::Driver('MEM')->Create(); 71 my $progress; 72 Geo::GDAL::Driver('MEM')->Copy( Name => '', src => $ds, progress => sub {$progress = "Me progress!";1}); 73 ok($progress eq "Me progress!", "MEM Copy works."); 74} 75