Labyrinth
view release on metacpan or search on metacpan
t/33-labyrinth-request.t view on Meta::CPAN
is($request->next_action,'Content::GetVersion');
is($request->next_action,'Hits::SetHits');
is($request->next_action,'Menus::LoadMenus');
is($request->next_action,undef);
is($request->add_actions('Content::One','Content::Two','Content::Three'),3);
is($request->next_action,'Content::One');
$request->reset_request('home-admin');
is($request->next_action,'Content::Admin');
$request->reset_realm('admin');
is($request->next_action,'Content::GetVersion');
$ENV{HTTP_HOST} = 'example.com';
$ENV{REQUEST_URI} = '/path';
$request->redirect();
is($tvars{redirect},undef);
$request->redirect('http');
is($tvars{redirect},'http://example.com/path');
$request->redirect('http','/test');
is($tvars{redirect},'http://example.com/test');
$request->redirect('http',undef,'home-main');
is($tvars{redirect},'http://example.com/path?act=home-main');
$request->redirect('http',undef,'');
is($tvars{redirect},'http://example.com/path');
is($request->layout, 'admin/layout.html');
is($request->content, 'admin/backend_index.html');
$request->reset_request('home-test');
is($request->onsuccess, 'home-main');
is($request->onerror, 'error-badaccess');
is($request->onfailure, 'error-badcmd');
# clean up
$td->{driver}->drop_database($td->name);
}
sub create_sqlite_databases {
my $db = shift;
my @create_example = (
'PRAGMA auto_vacuum = 1',
q|DROP TABLE IF EXISTS requests|,
q|CREATE TABLE requests (
section TEXT,
command TEXT,
actions TEXT,
layout TEXT,
content TEXT,
onsuccess TEXT,
onerror TEXT,
onfailure TEXT,
secure TEXT,
rewrite TEXT,
PRIMARY KEY (section,command)
)|,
q|INSERT INTO requests VALUES ('realm','admin','Content::GetVersion,Menus::LoadMenus','admin/layout.html','','','','','off','')|,
q|INSERT INTO requests VALUES ('realm','popup','','public/popup.html','','','','','off','')|,
q|INSERT INTO requests VALUES ('realm','public','Content::GetVersion,Hits::SetHits,Menus::LoadMenus','public/layout.html','','','','','off','')|,
q|INSERT INTO requests VALUES ('error','badmail','','','public/badmail.html','','','','off','')|,
q|INSERT INTO requests VALUES ('error','badcmd','','','public/badcommand.html','','','','off','')|,
q|INSERT INTO requests VALUES ('error','banuser','','','public/banuser.html','','','','off','')|,
q|INSERT INTO requests VALUES ('error','badaccess','Users::LoggedIn','','public/badaccess.html','','error-login','','off','')|,
q|INSERT INTO requests VALUES ('error','baduser','','','public/baduser.html','','','','off','')|,
q|INSERT INTO requests VALUES ('error','login','Users::Store','','users/user-login.html','','','','off','')|,
q|INSERT INTO requests VALUES ('error','message','','','public/error_message.html','','','','off','')|,
q|INSERT INTO requests VALUES ('home','admin','Content::Admin','','admin/backend_index.html','','','','off','')|,
q|INSERT INTO requests VALUES ('home','main','Content::Home','','content/welcome.html','','','','off','')|,
q|INSERT INTO requests VALUES ('home','test','Content::Test','','','home-main','error-badaccess','error-badcmd','off','')|,
);
dosql($db,\@create_example);
}
sub create_mysql_databases {
my $db = shift;
my @create_example = (
q|DROP TABLE IF EXISTS requests|,
q|CREATE TABLE requests (
section varchar(15) NOT NULL,
command varchar(15) NOT NULL,
actions varchar(1000) DEFAULT NULL,
layout varchar(255) DEFAULT NULL,
content varchar(255) DEFAULT NULL,
onsuccess varchar(32) DEFAULT NULL,
onerror varchar(32) DEFAULT NULL,
onfailure varchar(32) DEFAULT NULL,
secure enum('off','on','either','both') DEFAULT 'off',
rewrite varchar(255) DEFAULT NULL,
PRIMARY KEY (section,command)
) ENGINE=MyISAM DEFAULT CHARSET=utf8|,
q|INSERT INTO requests VALUES ('realm','admin','Content::GetVersion,Menus::LoadMenus','admin/layout.html','','','','','off','')|,
q|INSERT INTO requests VALUES ('realm','popup','','public/popup.html','','','','','off','')|,
q|INSERT INTO requests VALUES ('realm','public','Content::GetVersion,Hits::SetHits,Menus::LoadMenus','public/layout.html','','','','','off','')|,
q|INSERT INTO requests VALUES ('error','badmail','','','public/badmail.html','','','','off','')|,
q|INSERT INTO requests VALUES ('error','badcmd','','','public/badcommand.html','','','','off','')|,
q|INSERT INTO requests VALUES ('error','banuser','','','public/banuser.html','','','','off','')|,
q|INSERT INTO requests VALUES ('error','badaccess','Users::LoggedIn','','public/badaccess.html','','error-login','','off','')|,
q|INSERT INTO requests VALUES ('error','baduser','','','public/baduser.html','','','','off','')|,
q|INSERT INTO requests VALUES ('error','login','Users::Store','','users/user-login.html','','','','off','')|,
q|INSERT INTO requests VALUES ('error','message','','','public/error_message.html','','','','off','')|,
q|INSERT INTO requests VALUES ('home','admin','Content::Admin','','admin/backend_index.html','','','','off','')|,
q|INSERT INTO requests VALUES ('home','main','Content::Home','','content/welcome.html','','','','off','')|,
q|INSERT INTO requests VALUES ('home','test','Content::Test','','','home-main','error-badaccess','error-badcmd','off','')|,
);
dosql($db,\@create_example);
}
sub dosql {
my ($db,$sql) = @_;
for(@$sql) {
#diag "SQL: [$db] $_";
eval { $db->dbh->do($_); };
if($@) {
diag $@;
return 1;
}
}
return 0;
}
( run in 0.907 second using v1.01-cache-2.11-cpan-364913b4093 )