use strict;
use OpenGuides;
use OpenGuides::Test;
use Test::More;
use Wiki::Toolkit::Setup::SQLite;
eval { require DBD::SQLite; };
if ( $@ ) {
plan skip_all => "DBD::SQLite not installed - no database to test with";
exit 0;
}
plan tests => 9;
my ( $config, $guide, $wiki, $cookie, $output );
# Clear out the database from any previous runs.
OpenGuides::Test::refresh_db();
# Make a guide.
$config = OpenGuides::Test->make_basic_config;
$guide = OpenGuides->new( config => $config );
# Write a node.
OpenGuides::Test->write_data(
guide => $guide,
node => "Red Lion",
);
# Make sure analytics stuff only shows up if we want it to.
$output = $guide->display_node(
id => "Red Lion",
return_output => 1,
);
unlike( $output, qr/ga.js/, "Google analytics omitted by default" );
$config->google_analytics_key( "" );
$output = $guide->display_node(
id => "Red Lion",
return_output => 1,
);
unlike( $output, qr/ga.js/, "...also if analytics key is blank" );
$config->google_analytics_key( 0 );
$output = $guide->display_node(
id => "Red Lion",
return_output => 1,
);
unlike( $output, qr/ga.js/, "...also if analytics key is zero" );
$config->google_analytics_key( "ThisIsNotAKey" );
$output = $guide->display_node(
id => "Red Lion",
return_output => 1,
);
like( $output, qr/ga.js/, "does show up if key is provided" );
like( $output, qr/ThisIsNotAKey/, "...correct key" );
# Make sure analytics stuff only shows up if we want it to on recent changes
# recent changes doesnt use CGI. which we dont need anymore but we should test in case we change our mind again.
$config->google_analytics_key( "" );
$output = $guide->display_recent_changes( return_output => 1 );
unlike( $output, qr/ga.js/, "...also if analytics key is blank" );
$config->google_analytics_key( 0 );
$output = $guide->display_recent_changes( return_output => 1 );
unlike( $output, qr/ga.js/, "...also if analytics key is zero" );
$config->google_analytics_key( "ThisIsNotAKey" );
$output = $guide->display_recent_changes( return_output => 1 );
like( $output, qr/ga.js/, "does show up if key is provided" );
like( $output, qr/ThisIsNotAKey/, "...correct key" );