Commit 9d3344ad authored by Stan Hu's avatar Stan Hu
Browse files

Gracefully handle errors in syntax highlighting by leaving the block unformatted

Closes #2433
parent c9403fc82a95
Please view this file on the master branch, on stable branches it's out of date.
v 8.0.0 (unreleased)
- Gracefully handle errors in syntax highlighting by leaving the block unformatted (Stan Hu)
- Fix URL construction for merge requests, issues, notes, and commits for relative URL config (Stan Hu)
- Fix emoji URLs in Markdown when relative_url_root is used (Stan Hu)
- Omit filename in Content-Disposition header in raw file download to avoid RFC 6266 encoding issues (Stan HU)
......@@ -21,7 +21,11 @@ def highlight_node(node)
language = node.attr('class')
code = node.text
highlighted = block_code(code, language)
highlighted = block_code(code, language)
highlighted = "<pre>#{code}</pre>"
# Replace the parent `pre` element with the entire highlighted block
require 'spec_helper'
module Gitlab::Markdown
describe SyntaxHighlightFilter do
include FilterSpecHelper
let(:project) { create(:empty_project) }
let(:reference) { snippet.to_reference }
it 'highlights valid code blocks' do
result = filter('<pre><code>def fun end</code>')
expect(result.to_html).to eq("<pre class=\"code highlight js-syntax-highlight plaintext\"><code>def fun end</code></pre>\n")
it 'passes through invalid code blocks' do
allow_any_instance_of(SyntaxHighlightFilter).to receive(:block_code).and_raise(StandardError)
result = filter('<pre><code>This is a test</code></pre>')
expect(result.to_html).to eq('<pre>This is a test</pre>')
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment