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

Ticket #9136: fix_symlinked_view_paths.diff

File fix_symlinked_view_paths.diff, 4.1 kB (added by court3nay, 10 months ago)
  • a/vendor/rails/actionpack/lib/action_view/template_finder.rb

    old new  
    2323      def process_view_paths(*view_paths) 
    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(/^\//, '') 
    3130 
  • a/vendor/rails/actionpack/test/controller/layout_test.rb

    old new  
    238238    assert_response 401 
    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     
  • /dev/null

    old new  
  • /dev/null

    old new  
     1This is my layout 
     2 
     3<%= yield %> 
     4 
     5End. 
  • a/vendor/rails/actionpack/test/template/template_finder_test.rb

    old new  
    2121    assert_equal ["builder", "erb", "rhtml", "rjs", "rxml", "mab"].sort, 
    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 
    2727 
    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 
    3434  def test_find_template_extension_from_first_render 
     
    6262    assert_equal false, @finder.send(:file_exists?, 'baz') 
    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 
    6868      ActionView::TemplateFinder.expects(:update_extension_cache_for).with("funky")