summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/routes.rb4
-rw-r--r--test/functional/repositories_controller_test.rb14
2 files changed, 18 insertions, 0 deletions
diff --git a/config/routes.rb b/config/routes.rb
index 21e33f501..dbb159c33 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -224,7 +224,11 @@ ActionController::Routing::Routes.draw do |map|
repository_views.connect 'projects/:id/repository/revisions/:rev', :action => 'revision'
repository_views.connect 'projects/:id/repository/revisions/:rev/diff', :action => 'diff'
repository_views.connect 'projects/:id/repository/revisions/:rev/diff.:format', :action => 'diff'
+ repository_views.connect 'projects/:id/repository/revisions/:rev/raw/*path', :action => 'entry', :format => 'raw', :requirements => { :rev => /[a-z0-9\.\-_]+/ }
repository_views.connect 'projects/:id/repository/revisions/:rev/:action/*path', :requirements => { :rev => /[a-z0-9\.\-_]+/ }
+ repository_views.connect 'projects/:id/repository/raw/*path', :action => 'entry', :format => 'raw'
+ # TODO: why the following route is required?
+ repository_views.connect 'projects/:id/repository/entry/*path', :action => 'entry'
repository_views.connect 'projects/:id/repository/:action/*path'
end
diff --git a/test/functional/repositories_controller_test.rb b/test/functional/repositories_controller_test.rb
index 5ff2a6a92..7ed7b5bbc 100644
--- a/test/functional/repositories_controller_test.rb
+++ b/test/functional/repositories_controller_test.rb
@@ -144,6 +144,20 @@ class RepositoriesControllerTest < ActionController::TestCase
:controller => 'repositories', :action => 'entry', :id => 'restmine', :path => %w[path to file.c], :rev => '2'
)
end
+
+ def test_raw_routing
+ assert_routing(
+ {:method => :get, :path => '/projects/restmine/repository/raw/path/to/file.c'},
+ :controller => 'repositories', :action => 'entry', :id => 'restmine', :path => %w[path to file.c], :format => 'raw'
+ )
+ end
+
+ def test_raw_routing_with_revision
+ assert_routing(
+ {:method => :get, :path => '/projects/restmine/repository/revisions/2/raw/path/to/file.c'},
+ :controller => 'repositories', :action => 'entry', :id => 'restmine', :path => %w[path to file.c], :format => 'raw', :rev => '2'
+ )
+ end
def test_annotate_routing
assert_routing(