|
|
@@ -1152,7 +1152,7 @@ class WikiControllerTest < Redmine::ControllerTest |
|
|
|
assert_include 'h1. CookBook documentation v2', @response.body |
|
|
|
end |
|
|
|
|
|
|
|
def test_show_filename_should_be_uri_encoded_for_ms_browsers |
|
|
|
def test_show_filename_should_be_uri_encoded |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
title = 'Этика_менеджмента' |
|
|
|
%w|pdf html txt|.each do |format| |
|
|
@@ -1160,14 +1160,15 @@ class WikiControllerTest < Redmine::ControllerTest |
|
|
|
@request.user_agent = "" |
|
|
|
get :show, :params => {:project_id => 1, :id => title, :format => format} |
|
|
|
assert_response :success |
|
|
|
assert_equal "attachment; filename=\"#{title}.#{format}\"", |
|
|
|
ascii_filename = "%3F%3F%3F%3F%3F_%3F%3F%3F%3F%3F%3F%3F%3F%3F%3F%3F.#{format}" |
|
|
|
utf8_filename = "%D0%AD%D1%82%D0%B8%D0%BA%D0%B0_%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%BC%D0%B5%D0%BD%D1%82%D0%B0.#{format}" |
|
|
|
assert_equal "attachment; filename=\"#{ascii_filename}\"; filename*=UTF-8''#{utf8_filename}", |
|
|
|
@response.headers['Content-Disposition'] |
|
|
|
# Microsoft's browsers: filename should be URI encoded |
|
|
|
# Microsoft's browsers |
|
|
|
@request.user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063' |
|
|
|
get :show, :params => {:project_id => 1, :id => title, :format => format} |
|
|
|
assert_response :success |
|
|
|
filename = Addressable::URI.encode("#{title}.#{format}") |
|
|
|
assert_equal "attachment; filename=\"#{filename}\"", |
|
|
|
assert_equal "attachment; filename=\"#{ascii_filename}\"; filename*=UTF-8''#{utf8_filename}", |
|
|
|
@response.headers['Content-Disposition'] |
|
|
|
end |
|
|
|
end |