add test for the issue #146
This commit is contained in:
parent
4c8272dfa0
commit
dbee233d0a
@ -9,7 +9,7 @@ module Locomotive
|
||||
|
||||
def render_locomotive_page
|
||||
if request.fullpath =~ /^\/admin\//
|
||||
render :template => "/admin/errors/404", :layout => '/admin/layouts/box', :status => :not_found
|
||||
render :template => '/admin/errors/404', :layout => '/admin/layouts/box', :status => :not_found
|
||||
else
|
||||
@page = locomotive_page
|
||||
|
||||
@ -24,13 +24,15 @@ module Locomotive
|
||||
end
|
||||
|
||||
def render_no_page_error
|
||||
render :template => "/admin/errors/no_page", :layout => false
|
||||
render :template => '/admin/errors/no_page', :layout => false
|
||||
end
|
||||
|
||||
def locomotive_page
|
||||
path = (params[:path] || request.fullpath).clone # TODO: params[:path] is more consistent
|
||||
path.gsub!(/\.[a-zA-Z][a-zA-Z0-9]{2,}$/, '')
|
||||
path.gsub!(/^\//, '')
|
||||
path = path.split('?').first # take everything before the query string or the lookup fails
|
||||
path.gsub!(/\.[a-zA-Z][a-zA-Z0-9]{2,}$/, '') # remove the page extension
|
||||
path.gsub!(/^\//, '') # remove the leading slash
|
||||
|
||||
path = 'index' if path.blank?
|
||||
|
||||
if path != 'index'
|
||||
|
@ -93,6 +93,12 @@ describe 'Locomotive rendering system' do
|
||||
@controller.send(:locomotive_page).should_not be_nil
|
||||
end
|
||||
|
||||
it 'does not include the query string' do
|
||||
@controller.request.fullpath = '/about_us/team.html?some=params&we=use'
|
||||
@controller.current_site.pages.expects(:any_in).with({ :fullpath => %w{about_us/team about_us/content_type_template} }).returns([@page])
|
||||
@controller.send(:locomotive_page).should_not be_nil
|
||||
end
|
||||
|
||||
it 'should return the 404 page if the page does not exist' do
|
||||
@controller.request.fullpath = '/contact'
|
||||
(klass = Page).expects(:published).returns([true])
|
||||
|
Loading…
Reference in New Issue
Block a user