1
0
mirror of https://github.com/meineerde/redmine.git synced 2025-12-25 18:01:14 +00:00

Line height is too large when previewing files with syntax highlighting if the line terminators are CRLF (#30434).

Patch by Yuichi HARADA.


git-svn-id: http://svn.redmine.org/redmine/trunk@17847 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA 2019-02-03 22:34:08 +00:00
parent 1338d96a5e
commit f4b2c1a0d3
2 changed files with 11 additions and 0 deletions

View File

@ -76,6 +76,13 @@ module Redmine
# Highlights +text+ as the content of +filename+
# Should not return line numbers nor outer pre tag
def highlight_by_filename(text, filename)
# TODO: Delete the following workaround for #30434 and
# test_syntax_highlight_should_normalize_line_endings in
# application_helper_test.rb when Rouge is improved to
# handle CRLF properly.
# See also: https://github.com/jneen/rouge/pull/1078
text = text.gsub(/\r\n?/, "\n")
lexer =::Rouge::Lexer.guess_by_filename(filename)
formatter = ::Rouge::Formatters::HTML.new
::Rouge.highlight(text, lexer, CustomHTMLLinewise.new(formatter))

View File

@ -1123,6 +1123,10 @@ EXPECTED
end
end
def test_syntax_highlight_should_normalize_line_endings
assert_equal "line 1\nline 2\n", syntax_highlight("test.txt", "line 1\rline 2\r\n")
end
def test_to_path_param
assert_equal 'test1/test2', to_path_param('test1/test2')
assert_equal 'test1/test2', to_path_param('/test1/test2/')