mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-23 03:26:07 +10:00
Merge branch 'fix_markup_encoding' into 'master'
Fix encoding of output of markup, prevent 500 for non-ascii characters #### What does this MR do? This MR forces the output of `Github::markup` to have the same encoding as the input to it. #### Why was this MR needed? This prevents 500 errors if the markup contains non-asci characters. #### What are the relevant issue numbers / Feature requests? This MR closes * #296 * https://github.com/gitlabhq/gitlabhq/issues/7023 /cc @jacobvosmaer See merge request !160
This commit is contained in:
@@ -221,7 +221,8 @@ module ApplicationHelper
|
||||
end
|
||||
|
||||
def render_markup(file_name, file_content)
|
||||
GitHub::Markup.render(file_name, file_content).html_safe
|
||||
GitHub::Markup.render(file_name, file_content).
|
||||
force_encoding(file_content.encoding).html_safe
|
||||
rescue RuntimeError
|
||||
simple_format(file_content)
|
||||
end
|
||||
|
||||
@@ -217,4 +217,13 @@ describe ApplicationHelper do
|
||||
).to eq("<a href=\"http://www.example.com\" rel=\"noreferrer nofollow\">Example</a>")
|
||||
end
|
||||
end
|
||||
|
||||
describe 'markup_render' do
|
||||
let(:content) { 'Noël' }
|
||||
|
||||
it 'should preserve encoding' do
|
||||
content.encoding.name.should == 'UTF-8'
|
||||
expect(render_markup('foo.rst', content).encoding.name).to eq('UTF-8')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user