diff --git a/t/Paginator.t b/t/Paginator.t new file mode 100644 index 000000000..c5522c716 --- /dev/null +++ b/t/Paginator.t @@ -0,0 +1,23 @@ +#------------------------------------------------------------------- +# 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::Utility; + +use WebGUI::Paginator; +use Test::More tests => 1; # increment this value for each test you create + +my $session = WebGUI::Test->session; + diff --git a/t/Session/Url.t b/t/Session/Url.t index 9906ccd2e..30e69a468 100644 --- a/t/Session/Url.t +++ b/t/Session/Url.t @@ -15,7 +15,8 @@ use lib "$FindBin::Bin/../lib"; use WebGUI::Test; use WebGUI::Session; -use Test::More tests => 15; # increment this value for each test you create +use Test::More tests => 19; # increment this value for each test you create +use Test::MockObject; my $session = WebGUI::Test->session; @@ -37,9 +38,9 @@ is( $url2, $url.'?a=b;c=d', 'append second pair'); diag("gateway tests"); -$session->config->{_config}->set(gateway => 'home.com'); +$session->config->{_config}->set(gateway => '/'); -is ( $session->config->get('gateway'), 'home.com', 'Set gateway for downstream tests'); +is ( $session->config->get('gateway'), '/', 'Set gateway for downstream tests'); $url = $session->config->get('gateway') . '/'; $url2 = $session->url->gateway; @@ -92,8 +93,33 @@ $url2 = 'level1-/level2/level3'; is ( $session->url->makeCompliant($url), $url2, 'language specific URL compliance'); -SKIP: { - skip("getRequestedUrl requires a valid Apache request object",1); - ok(undef,"getRequestedUrl"); -} +diag("getRequestedUrl tests"); +my $originalRequest = $session->request; ##Save the original request + +my $newRequest = Test::MockObject->new; +my $requestedUrl = 'empty'; +$newRequest->set_bound('uri', \$requestedUrl); +$session->{_request} = $newRequest; + +##Validate new MockObject + +is ($session->request->uri, 'empty', 'Validate Mock Object operation'); + +$requestedUrl = 'full'; +is ($session->request->uri, 'full', 'Validate Mock Object operation #2'); + +$requestedUrl = 'home.com/path1/file1'; +is ($session->url->getRequestedUrl, '/path1/file1', 'getRequestedUrl, fetch'); + +$requestedUrl = 'home.com/path2/file2'; +is ($session->url->getRequestedUrl, '/path1/file1', 'getRequestedUrl, check cache of previous result'); + +diag("page tests"); + +is ($session->url->page, 'home.com/path1/file1', 'page with no args returns getRequestedUrl via gateway'); + +diag("config sitename: ".$session->config->get('sitename')->[0]); +diag("gateway: ".$session->url->gateway); + +is ($session->url->page('',1), 'http://home.com/path1/file1', 'page, withFullUrl');