use Test::More; use strict; use lib 't'; use Test::Utils; use File::Path; use CGI::Cache; use vars qw( $VERSION ); $VERSION = sprintf "%d.%02d%02d", q/0.10.0/ =~ /(\d+)/g; # ---------------------------------------------------------------------------- unless(eval 'require CGI::Carp') { plan skip_all => 'CGI::Carp not installed'; exit; } plan tests => 7; # ---------------------------------------------------------------------------- # Make sure the cache directory isn't there rmtree 't/CGI_Cache_tempdir'; # ---------------------------------------------------------------------------- my $script_number = 1; # ---------------------------------------------------------------------------- # Test 1-3: caching with default attributes { my $test_script_name = "t/cgi_test_$script_number.cgi"; my $script = <<'EOF'; use lib '../blib/lib'; use CGI::Cache; use CGI::Carp qw(fatalsToBrowser set_message); CGI::Cache::setup({ cache_options => { cache_root => 't/CGI_Cache_tempdir' } }); CGI::Cache::set_key('test key'); CGI::Cache::start() or exit; die ("Good day to die\n"); EOF my ($short_script_name) = $test_script_name =~ /.*\/(.*)$/; my $expected_stdout = qr/Content-type: text\/html.*
Good day to die/si;
my $expected_stderr = qr/\[[^\]]+:[^\]]+\] $short_script_name: Good day to die/si;
my $expected_cached = undef;
my $message = "CGI::Carp not caching with default attributes";

Run_Script($test_script_name, $script, $expected_stdout, $expected_stderr,
$expected_cached, $message, 1);

$script_number++;
}

# ----------------------------------------------------------------------------

# Test 4: There should be no cache directory until we actually cache something
ok(!-e 't/CGI_Cache_tempdir', 'No cache directory until something cached');

# ----------------------------------------------------------------------------

# Test 5-7: caching with default attributes
{
my $test_script_name = "t/cgi_test_$script_number.cgi";

my $script = <<'EOF';
use lib '../blib/lib';
use CGI::Cache;
use CGI::Carp qw(fatalsToBrowser set_message);

CGI::Cache::setup({ cache_options => { cache_root => 't/CGI_Cache_tempdir' } });
CGI::Cache::set_key('test key');
CGI::Cache::start() or exit;

print ("Good day to live\n");
EOF

my $expected_stdout = "Good day to live\n";
my $expected_stderr = '';
my $expected_cached = "Good day to live\n";
my $message = "CGI::Carp caching with default attributes";

Run_Script($test_script_name, $script, $expected_stdout, $expected_stderr,
$expected_cached, $message, 1);

$script_number++;
}

# ----------------------------------------------------------------------------

# Cleanup
rmtree 't/CGI_Cache_tempdir';