Catch all Pygments errors
An unrecognized language was generating a MentosError rather than a PythonError. Just catch anything that goes wrong in Pygments.
This commit is contained in:
@@ -558,12 +558,12 @@ module Gollum
|
||||
encoding ||= 'utf-8'
|
||||
begin
|
||||
hl_code = Pygments.highlight(code, :lexer => lang, :options => {:encoding => encoding.to_s})
|
||||
rescue ::RubyPython::PythonError
|
||||
rescue
|
||||
hl_code = code
|
||||
end
|
||||
highlighted << hl_code
|
||||
end
|
||||
|
||||
|
||||
@codemap.each do |id, spec|
|
||||
body = spec[:output] || begin
|
||||
if (body = highlighted.shift.to_s).size > 0
|
||||
|
||||
@@ -534,6 +534,14 @@ np.array([[2,2],[1,3]],np.float)
|
||||
assert_equal %Q{<p>a\n</p><div class=\"highlight\"><pre><span class=\"nt\"><p></span>a\n!rel<span class=\"nt\"></p></span>\n</pre></div>\n}, output
|
||||
end
|
||||
|
||||
test "code block in unsupported language" do
|
||||
@wiki.write_page("a", :markdown, "a\n```nonexistent\ncode\n```\nb", commit_details)
|
||||
|
||||
page = @wiki.page("a")
|
||||
output = page.formatted_data
|
||||
assert_equal %Q{<p>a\ncode\nb</p>}, output
|
||||
end
|
||||
|
||||
#########################################################################
|
||||
#
|
||||
# Web Sequence Diagrams
|
||||
|
||||
Reference in New Issue
Block a user