# $Id: api3_obj_store_db_file.t,v 1.3.6.1 2003/07/26 13:37:36 sherzodr Exp $
use strict;
use diagnostics;
use CGI;
use CGI::Session;
eval "require DB_File";
if ( $@ ) {
print "1..0 #Skipped: DB_File is not available\n";
exit(0)
}
my @mods = qw(Storable FreezeThaw);
my $ser = undef;
for ( @mods ) {
eval "require $_";
unless ( $@ ) {
$ser = $_;
next;
}
}
unless ( $ser ) {
print "1..0 #Skipped: Neither Storable nor FreezeThaw avaialble\n";
exit(0);
}
my $args = "driver:DB_File;serializer:$ser";
my $dr_args = {Directory=>'t'};
print "1..8\n";
my $cgi = new CGI;
my $s = new CGI::Session($args, undef, $dr_args);
print defined($s) ? "ok\n" : "not ok\n";
print $s->id() ? "ok\n" : "not ok\n";
$cgi->param(name => 'Sherzod');
print $cgi->param('name') ? "ok\n" : "not ok\n";
print $s->param(_CGI => $cgi) ? "ok\n" : "not ok\n";
my $sid = $s->id();
$s->flush();
my $s2 = new CGI::Session($args, $sid, $dr_args);
print defined($s2) ? "ok\n" : "not ok\n";
print $s2->id eq $sid ? "ok\n" : "not ok\n";
my $old_cgi = $s2->param('_CGI');
print ref($old_cgi) ? "ok\n" : "not ok\n";
print $old_cgi->param('name') eq 'Sherzod' ? "ok\n" : "not ok\n";
$s2->delete();