More cleanup from dispatch. Do not set the session asset if the requested URL does not exist. In RssFeed, pass the fragment to the next method. Fixes bug #11854.

This commit is contained in:
Colin Kuskie 2010-09-10 11:14:03 -07:00
parent 5608a43916
commit 587ff397b5
5 changed files with 30 additions and 2 deletions

View file

@ -17,6 +17,7 @@ use FindBin;
use strict;
use lib "$FindBin::Bin/../lib";
use Test::More;
use Test::MockObject::Extends;
use Test::Deep;
use Data::Dumper;
use WebGUI::Test; # Must use this before any other WebGUI modules
@ -92,7 +93,7 @@ WebGUI::Test->addToCleanup( WebGUI::VersionTag->getWorking( $session ) );
#----------------------------------------------------------------------------
# Tests
plan tests => 20; # Increment this number for each test you create
plan tests => 22; # Increment this number for each test you create
#----------------------------------------------------------------------------
# test getUrlPermutation( url ) method
@ -204,4 +205,16 @@ $output = WebGUI::Content::Asset::dispatch( $session );
is $output, 'www_view one', 'an empty URL returns the default asset';
$session->setting->set('defaultPage', $originalDefaultPage);
# Test that requesting a URL that doesn't exist, but one of the permutations does exist, returns undef
#my $default = WebGUI::Asset->getDefault($session);
#my $mockDefault = Test::MockObject::Extends->new($default);
#$mockDefault->mock('addMissing', sub { return "add missing" });
$session->request->setup_body({ });
my $nonexistant_url = WebGUI::Asset->getDefault($session)->get('url');
$nonexistant_url = join '/', $nonexistant_url, 'nothing_here_to_see';
$output = WebGUI::Content::Asset::dispatch( $session, $nonexistant_url );
is $output, undef, 'getting a URL which does not exist returns undef';
is $session->asset, undef, '... session asset is not set';
#vim:ft=perl