some bug fixing
added some tests
This commit is contained in:
parent
b70ef9d23a
commit
1ce61982ed
7 changed files with 66 additions and 68 deletions
|
|
@ -58,6 +58,7 @@ sub addUrlAndContentHandlers {
|
||||||
"WebGUI::Content::NotFound"
|
"WebGUI::Content::NotFound"
|
||||||
]);
|
]);
|
||||||
$config->delete("passthruUrls");
|
$config->delete("passthruUrls");
|
||||||
|
unlink "../../lib/WebGUI/Setup.pm";
|
||||||
print "DONE!\n" unless $quiet;
|
print "DONE!\n" unless $quiet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -181,9 +181,6 @@ sub page {
|
||||||
$output = $asset->addMissing($assetUrl);
|
$output = $asset->addMissing($assetUrl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($output eq "chunked") {
|
|
||||||
$output = undef;
|
|
||||||
}
|
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ Package WebGUI::Content::Maintenance;
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
A content handler that does whatever I tell it to do.
|
A content handler that displays a maintenance page while upgrading.
|
||||||
|
|
||||||
=head1 SYNOPSIS
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
package WebGUI::Content::Upgrading;
|
|
||||||
|
|
||||||
=head1 LEGAL
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
WebGUI is Copyright 2001-2007 Plain Black Corporation.
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Please read the legal notices (docs/legal.txt) and the license
|
|
||||||
(docs/license.txt) that came with this distribution before using
|
|
||||||
this software.
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
http://www.plainblack.com info@plainblack.com
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
|
|
||||||
=cut
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
|
|
||||||
|
|
||||||
=head1 NAME
|
|
||||||
|
|
||||||
Package WebGUI::Content::Upgrading
|
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
|
||||||
|
|
||||||
A content handler that displays a maintenance page when in a special upgrade state.
|
|
||||||
|
|
||||||
=head1 SYNOPSIS
|
|
||||||
|
|
||||||
use WebGUI::Content::Upgrading;
|
|
||||||
my $output = WebGUI::Content::Upgrading::handler($session);
|
|
||||||
|
|
||||||
=head1 SUBROUTINES
|
|
||||||
|
|
||||||
These subroutines are available from this package:
|
|
||||||
|
|
||||||
=cut
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
|
||||||
|
|
||||||
=head2 handler ( session )
|
|
||||||
|
|
||||||
The content handler for this package.
|
|
||||||
|
|
||||||
=cut
|
|
||||||
|
|
||||||
sub handler {
|
|
||||||
my ($session) = @_;
|
|
||||||
if ($session->setting->get("specialState") eq "upgrading") {
|
|
||||||
my $output = "";
|
|
||||||
$session->http->sendHeader;
|
|
||||||
open(my $FILE,"<",$session->config->getWebguiRoot."/docs/maintenance.html");
|
|
||||||
while (<$FILE>) {
|
|
||||||
$session->output->print($_);
|
|
||||||
}
|
|
||||||
close($FILE);
|
|
||||||
return "none";
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
1;
|
|
||||||
|
|
||||||
|
|
@ -64,7 +64,10 @@ sub handler {
|
||||||
use strict;
|
use strict;
|
||||||
if ($output) {
|
if ($output) {
|
||||||
unless ($output eq "none" || $output eq "redirect") {
|
unless ($output eq "none" || $output eq "redirect") {
|
||||||
$session->output->print($output) unless ($output eq "chunked");
|
unless ($output eq "chunked") {
|
||||||
|
$session->http->sendHeader();
|
||||||
|
$session->output->print($output)
|
||||||
|
}
|
||||||
if ($session->errorHandler->canShowDebug()) {
|
if ($session->errorHandler->canShowDebug()) {
|
||||||
$session->output->print($session->errorHandler->showDebug(),1);
|
$session->output->print($session->errorHandler->showDebug(),1);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
30
t/Content/Maintenance.t
Normal file
30
t/Content/Maintenance.t
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
# WebGUI is Copyright 2001-2006 Plain Black Corporation.
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
# Please read the legal notices (docs/legal.txt) and the license
|
||||||
|
# (docs/license.txt) that came with this distribution before using
|
||||||
|
# this software.
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
# http://www.plainblack.com info@plainblack.com
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
use FindBin;
|
||||||
|
use strict;
|
||||||
|
use lib "$FindBin::Bin/../lib";
|
||||||
|
use WebGUI::Test;
|
||||||
|
use WebGUI::Session;
|
||||||
|
use WebGUI::Content::Maintenance;
|
||||||
|
|
||||||
|
# load your modules here
|
||||||
|
|
||||||
|
use Test::More tests => 2; # increment this value for each test you create
|
||||||
|
|
||||||
|
my $session = WebGUI::Test->session;
|
||||||
|
|
||||||
|
# put your tests here
|
||||||
|
|
||||||
|
$session->setting->set("specialState", "upgrading");
|
||||||
|
isnt(WebGUI::Content::Maintenance::handler($session), undef, "Maintenance should return some output when in upgrade special state");
|
||||||
|
$session->setting->remove("specialState");
|
||||||
|
is(WebGUI::Content::Maintenance::handler($session), undef, "Maintenance shouldn't return anything when no special state is present");
|
||||||
|
|
||||||
30
t/Content/Setup.t
Normal file
30
t/Content/Setup.t
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
# WebGUI is Copyright 2001-2006 Plain Black Corporation.
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
# Please read the legal notices (docs/legal.txt) and the license
|
||||||
|
# (docs/license.txt) that came with this distribution before using
|
||||||
|
# this software.
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
# http://www.plainblack.com info@plainblack.com
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
use FindBin;
|
||||||
|
use strict;
|
||||||
|
use lib "$FindBin::Bin/../lib";
|
||||||
|
use WebGUI::Test;
|
||||||
|
use WebGUI::Session;
|
||||||
|
use WebGUI::Content::Setup;
|
||||||
|
|
||||||
|
# load your modules here
|
||||||
|
|
||||||
|
use Test::More tests => 2; # increment this value for each test you create
|
||||||
|
|
||||||
|
my $session = WebGUI::Test->session;
|
||||||
|
|
||||||
|
# put your tests here
|
||||||
|
|
||||||
|
$session->setting->set("specialState", "init");
|
||||||
|
isnt(WebGUI::Content::Setup::handler($session), undef, "Setup should return some output when in init special state");
|
||||||
|
$session->setting->remove("specialState");
|
||||||
|
is(WebGUI::Content::Setup::handler($session), undef, "Setup shouldn't return anything when no special state is present");
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue