OSDN Git Service

Fixes "source:" links URLs (r1617).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 6 Jul 2008 12:43:51 +0000 (12:43 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 6 Jul 2008 12:43:51 +0000 (12:43 +0000)
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1640 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/helpers/application_helper.rb
app/helpers/repositories_helper.rb
test/unit/helpers/application_helper_test.rb

index fdc5416..6266dd9 100644 (file)
@@ -112,6 +112,10 @@ module ApplicationHelper
     type ? CodeRay.scan(content, type).html : h(content)
   end
   
+  def to_path_param(path)
+    path.to_s.split(%r{[/\\]}).select {|p| !p.blank?}
+  end
+
   def pagination_links_full(paginator, count=nil, options={})
     page_param = options.delete(:page_param) || :page
     url_param = params.dup
@@ -349,7 +353,8 @@ module ApplicationHelper
             if project && project.repository
               name =~ %r{^[/\\]*(.*?)(@([0-9a-f]+))?(#(L\d+))?$}
               path, rev, anchor = $1, $3, $5
-              link = link_to h("#{prefix}:#{name}"), {:controller => 'repositories', :action => 'entry', :id => project, :path => path,
+              link = link_to h("#{prefix}:#{name}"), {:controller => 'repositories', :action => 'entry', :id => project,
+                                                      :path => to_path_param(path),
                                                       :rev => rev,
                                                       :anchor => anchor,
                                                       :format => (prefix == 'export' ? 'raw' : nil)},
index 59e1e0f..852ed18 100644 (file)
@@ -32,10 +32,6 @@ module RepositoriesHelper
     end
   end
   
-  def to_path_param(path)
-    path.to_s.split(%r{[/\\]}).select {|p| !p.blank?}
-  end
-  
   def to_utf8(str)
     return str if /\A[\r\n\t\x20-\x7e]*\Z/n.match(str) # for us-ascii
     @encodings ||= Setting.repositories_encodings.split(',').collect(&:strip)
index 45eb2df..d4f9e02 100644 (file)
@@ -81,7 +81,7 @@ class ApplicationHelperTest < HelperTestCase
     version_link = link_to('1.0', {:controller => 'versions', :action => 'show', :id => 2},
                                   :class => 'version')
 
-    source_url = {:controller => 'repositories', :action => 'entry', :id => 'ecookbook', :path => 'some/file'}
+    source_url = {:controller => 'repositories', :action => 'entry', :id => 'ecookbook', :path => ['some', 'file']}
     
     to_test = {
       # tickets