Defect #40208 » fix_robots_route.patch
| config/routes.rb | ||
|---|---|---|
| 405 | 405 | |
| 406 | 406 |
match 'uploads', :to => 'attachments#upload', :via => :post |
| 407 | 407 | |
| 408 |
get 'robots', :to => 'welcome#robots' |
|
| 408 |
get 'robots', :to => 'welcome#robots', :defaults => { format: 'txt' }
|
|
| 409 | 409 | |
| 410 | 410 |
Redmine::Plugin.directory.glob("*/config/routes.rb").sort.each do |plugin_routes_path|
|
| 411 | 411 |
instance_eval(plugin_routes_path.read, plugin_routes_path.to_s) |
| test/integration/routing/welcome_test.rb | ||
|---|---|---|
| 22 | 22 |
class RoutingWelcomeTest < Redmine::RoutingTest |
| 23 | 23 |
def test_welcome |
| 24 | 24 |
should_route 'GET /' => 'welcome#index' |
| 25 |
should_route 'GET /robots.txt' => 'welcome#robots', :format => 'txt'
|
|
| 25 |
should_route 'GET /robots' => 'welcome#robots', :format => 'txt' |
|
| 26 | 26 |
end |
| 27 | 27 |
end |
| test/integration/welcome_test.rb | ||
|---|---|---|
| 43 | 43 |
assert @response.body.match(%r{^Disallow: /projects/subproject1/issues\r?$})
|
| 44 | 44 |
end |
| 45 | 45 | |
| 46 |
def test_robots_when_no_format_is_given |
|
| 47 |
get '/robots' |
|
| 48 |
assert_response :success |
|
| 49 |
assert_equal 'text/plain', @response.media_type |
|
| 50 |
end |
|
| 51 | ||
| 46 | 52 |
def test_robots_when_login_is_required |
| 47 | 53 |
with_settings :login_required => '1' do |
| 48 | 54 |
get '/robots.txt' |