Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 9120

Show
Ignore:
Timestamp:
03/28/08 20:54:26 (2 months ago)
Author:
bitsweat
Message:

Fix layouts in symlinked paths. Closes #9136 [court3nay, caio]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/actionpack/lib/action_view/template_finder.rb

    r9119 r9120  
    2424        view_paths.flatten.compact.each do |dir| 
    2525          next if @@processed_view_paths.has_key?(dir) 
    26  
    2726          @@processed_view_paths[dir] = [] 
    28           Dir.glob("#{dir}/**/*").each do |file| 
     27          Dir.glob("#{dir}/**/*/**").each do |file| 
    2928            unless File.directory?(file) 
    3029              @@processed_view_paths[dir] << file.split(dir).last.sub(/^\//, '') 
  • trunk/actionpack/test/controller/layout_test.rb

    r8981 r9120  
    239239  end 
    240240end 
     241 
     242class LayoutSymlinkedTest < LayoutTest 
     243  layout "symlinked/symlinked_layout" 
     244end 
     245 
     246class LayoutSymlinkedIsRenderedTest < Test::Unit::TestCase 
     247  def setup 
     248    @request    = ActionController::TestRequest.new 
     249    @response   = ActionController::TestResponse.new 
     250  end 
     251 
     252  def test_symlinked_layout_is_rendered 
     253    @controller = LayoutSymlinkedTest.new 
     254    get :hello 
     255    assert_response 200 
     256    assert_equal "layouts/symlinked/symlinked_layout", @response.layout 
     257  end 
     258end 
     259     
  • trunk/actionpack/test/template/template_finder_test.rb

    r9089 r9120  
    2222                 ActionView::TemplateFinder.file_extension_cache[LOAD_PATH_ROOT].values.flatten.uniq.sort 
    2323 
    24     assert_equal Dir.glob("#{LOAD_PATH_ROOT}/**/*.{erb,rjs,rhtml,builder,rxml,mab}").size, 
     24    assert_equal Dir.glob("#{LOAD_PATH_ROOT}/**/*/*.{erb,rjs,rhtml,builder,rxml,mab}").size, 
    2525                 ActionView::TemplateFinder.file_extension_cache[LOAD_PATH_ROOT].keys.size 
    2626  end 
     
    2828  def test_should_cache_dir_content_properly 
    2929    assert ActionView::TemplateFinder.processed_view_paths[LOAD_PATH_ROOT] 
    30     assert_equal Dir.glob("#{LOAD_PATH_ROOT}/**/*").find_all {|f| !File.directory?(f) }.size, 
    31                  ActionView::TemplateFinder.processed_view_paths[LOAD_PATH_ROOT].size 
     30    assert_equal Dir.glob("#{LOAD_PATH_ROOT}/**/*/**").find_all {|f| !File.directory?(f) }.size, 
     31               ActionView::TemplateFinder.processed_view_paths[LOAD_PATH_ROOT].size 
    3232  end 
    3333 
     
    6363    assert_equal false, @finder.send(:file_exists?, 'baz.rb') 
    6464  end 
    65  
     65   
    6666  uses_mocha 'Template finder tests' do 
    6767    def test_should_update_extension_cache_when_template_handler_is_registered