use strict;
use Wiki::Toolkit::Setup::SQLite;
use OpenGuides::Config;
use Cwd;
use OpenGuides;
use Test::More;
use OpenGuides::Test;
eval { require DBD::SQLite; };
if ( $@ ) {
my ($error) = $@ =~ /^(.*?)\n/;
plan skip_all => "DBD::SQLite could not be used - no database to test with ($error)";
}
plan tests => 6;
OpenGuides::Test::refresh_db();
my $config = OpenGuides::Config->new(
vars => {
dbtype => "sqlite",
dbname => "t/node.db",
indexing_directory => "t/indexes",
script_url => "http://wiki.example.com/",
script_name => "mywiki.cgi",
site_name => "Wiki::Toolkit Test Site",
template_path => cwd . "/templates",
}
);
eval { require Wiki::Toolkit::Search::Plucene; };
if ( $@ ) { $config->use_plucene ( 0 ) };
$config->{geo_handler} = 1;
my $guide = OpenGuides->new( config => $config );
my $q = OpenGuides::Test->make_cgi_object(
content => "Blah",
os_x => 0,
os_y => 0
);
my $output = $guide->commit_node(
id => "Test Node",
cgi_obj => $q,
return_output => 1
);
my %details = $guide->wiki->retrieve_node("Test Node");
is( @{$details{metadata}->{os_x}}[0], 0, "Zero os_x saved" );
is( @{$details{metadata}->{os_y}}[0], 0, "Zero os_y saved" );
$config->{geo_handler} = 2;
Wiki::Toolkit::Setup::SQLite::cleardb( { dbname => "t/node.db" } );
Wiki::Toolkit::Setup::SQLite::setup( { dbname => "t/node.db" } );
$guide = OpenGuides->new( config => $config );
$q = OpenGuides::Test->make_cgi_object(
content => "Blah",
osie_x => 0,
osie_y => 0
);
$output = $guide->commit_node(
id => "Test Node IE",
cgi_obj => $q,
return_output => 1
);
%details = $guide->wiki->retrieve_node("Test Node IE");
is( @{$details{metadata}->{osie_x}}[0], 0, "Zero osie_x saved" );
is( @{$details{metadata}->{osie_y}}[0], 0, "Zero osie_y saved" );
$config->{geo_handler} = 3;
Wiki::Toolkit::Setup::SQLite::cleardb( { dbname => "t/node.db" } );
Wiki::Toolkit::Setup::SQLite::setup( { dbname => "t/node.db" } );
$guide = OpenGuides->new( config => $config );
$q = OpenGuides::Test->make_cgi_object(
content => "Blah",
latitude => 0,
longitude => 0
);
$output = $guide->commit_node(
id => "Test Node lat/long",
cgi_obj => $q,
return_output => 1
);
%details = $guide->wiki->retrieve_node("Test Node lat/long");
is( @{$details{metadata}->{latitude}}[0], 0, "Zero latitude saved" );
is( @{$details{metadata}->{longitude}}[0], 0, "Zero longitude saved" );