the Slash_gatewayUrl and PageUrl macros now accept optional URL arguments
This commit is contained in:
parent
dfb19389a7
commit
66b59adde8
7 changed files with 121 additions and 15 deletions
|
|
@ -13,7 +13,6 @@ use strict;
|
|||
use lib "$FindBin::Bin/../lib";
|
||||
|
||||
use WebGUI::Test;
|
||||
use WebGUI::Macro::PageUrl;
|
||||
use WebGUI::Session;
|
||||
use Data::Dumper;
|
||||
|
||||
|
|
@ -21,16 +20,45 @@ use Test::More; # increment this value for each test you create
|
|||
|
||||
my $session = WebGUI::Test->session;
|
||||
|
||||
plan tests => 2;
|
||||
my $numTests = 5;
|
||||
$numTests += 1; #For the use_ok
|
||||
|
||||
plan tests => $numTests;
|
||||
|
||||
my $preventProxyCache = $session->setting->get('preventProxyCache');
|
||||
|
||||
my $macro = 'WebGUI::Macro::PageUrl';
|
||||
my $loaded = use_ok($macro);
|
||||
|
||||
SKIP: {
|
||||
|
||||
skip "Unable to load $macro", $numTests-1 unless $loaded;
|
||||
|
||||
$session->setting->set('preventProxyCache', 0) if ($preventProxyCache);
|
||||
|
||||
my $homeAsset = WebGUI::Asset->getDefault($session);
|
||||
|
||||
##Make the homeAsset the default asset in the session.
|
||||
$session->asset($homeAsset);
|
||||
|
||||
my $output = WebGUI::Macro::PageUrl::process($session);
|
||||
my $output;
|
||||
|
||||
$output = WebGUI::Macro::PageUrl::process($session);
|
||||
is($output, $session->url->gateway.$homeAsset->get('url'), 'fetching url for site default asset');
|
||||
|
||||
$output = WebGUI::Macro::PageUrl::process($session, '/sub/page');
|
||||
is($output, $session->url->gateway.$homeAsset->get('url').'/sub/page', 'fetching url for site default asset with sub url');
|
||||
|
||||
$session->setting->set('preventProxyCache', 1);
|
||||
|
||||
$output = WebGUI::Macro::PageUrl::process($session);
|
||||
like($output, qr{\?noCache=\d+,\d+$}, 'checking the cache settings in the page URL');
|
||||
|
||||
$output = WebGUI::Macro::PageUrl::process($session, '/sub/page');
|
||||
like($output, qr{/sub/page\?noCache=\d+,\d+$}, 'checking the cache settings in the URL are at the end of the page URL');
|
||||
|
||||
}
|
||||
|
||||
TODO: {
|
||||
local $TODO = "Tests to make later";
|
||||
ok(0, 'Fetch url from locally made asset with known url');
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ use strict;
|
|||
use lib "$FindBin::Bin/../lib";
|
||||
|
||||
use WebGUI::Test;
|
||||
use WebGUI::Macro::Slash_gatewayUrl;
|
||||
use WebGUI::Session;
|
||||
use Data::Dumper;
|
||||
|
||||
|
|
@ -21,11 +20,46 @@ use Test::More; # increment this value for each test you create
|
|||
|
||||
my $session = WebGUI::Test->session;
|
||||
|
||||
plan tests => 1;
|
||||
|
||||
##Note, this is not a test of the gateway method. That is done over
|
||||
##in t/Session/Url.t All we need to do is make sure that the macro
|
||||
##fetches the same thing as the method.
|
||||
|
||||
my $output = WebGUI::Macro::Slash_gatewayUrl::process($session);
|
||||
my $numTests = 4;
|
||||
$numTests += 1; #For the use_ok
|
||||
|
||||
plan tests => $numTests;
|
||||
|
||||
my $preventProxyCache = $session->setting->get('preventProxyCache');
|
||||
|
||||
my $macro = 'WebGUI::Macro::Slash_gatewayUrl';
|
||||
my $loaded = use_ok($macro);
|
||||
|
||||
SKIP: {
|
||||
|
||||
skip "Unable to load $macro", $numTests-1 unless $loaded;
|
||||
|
||||
$session->setting->set('preventProxyCache', 0) if ($preventProxyCache);
|
||||
|
||||
my $output;
|
||||
|
||||
$output = WebGUI::Macro::Slash_gatewayUrl::process($session);
|
||||
is($output, $session->url->gateway, 'fetching site gateway');
|
||||
|
||||
$output = WebGUI::Macro::Slash_gatewayUrl::process($session, '/foo/bar');
|
||||
is($output, $session->url->gateway('/foo/bar'), 'passing URL through to macro');
|
||||
|
||||
$session->setting->set('preventProxyCache', 1);
|
||||
|
||||
$output = WebGUI::Macro::Slash_gatewayUrl::process($session);
|
||||
like($output, qr{/\?noCache=\d+,\d+$}, 'checking the cache settings in the URL');
|
||||
|
||||
$output = WebGUI::Macro::Slash_gatewayUrl::process($session, '/foo/bar');
|
||||
like($output, qr{/foo/bar\?noCache=\d+,\d+$}, 'checking the cache settings in the URL are at the end of the URL');
|
||||
|
||||
$session->setting->set('preventProxyCache', 0);
|
||||
|
||||
}
|
||||
|
||||
END {
|
||||
$session->setting->set('preventProxyCache', $preventProxyCache);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue