Fix SyntaxHighlightFilter spec
This commit is contained in:
parent
5adf080880
commit
72620ea1b7
|
@ -89,7 +89,7 @@
|
|||
SyntaxHighlightFilter: {
|
||||
'pre.code.highlight'(el, text) {
|
||||
let lang = el.getAttribute('lang');
|
||||
if (lang === 'text') {
|
||||
if (lang === 'plaintext') {
|
||||
lang = '';
|
||||
}
|
||||
return '```' + lang + '\n' + text.trim() + '\n```';
|
||||
|
|
|
@ -27,6 +27,7 @@ module Banzai
|
|||
|
||||
css_classes << " js-syntax-highlight #{lang}"
|
||||
rescue
|
||||
lang = nil
|
||||
# Gracefully handle syntax highlighter bugs/errors to ensure
|
||||
# users can still access an issue/comment/etc.
|
||||
end
|
||||
|
|
|
@ -6,21 +6,21 @@ describe Banzai::Filter::SyntaxHighlightFilter, lib: true do
|
|||
context "when no language is specified" do
|
||||
it "highlights as plaintext" do
|
||||
result = filter('<pre><code>def fun end</code></pre>')
|
||||
expect(result.to_html).to eq('<pre class="code highlight js-syntax-highlight plaintext" v-pre="true"><code>def fun end</code></pre>')
|
||||
expect(result.to_html).to eq('<pre class="code highlight js-syntax-highlight plaintext" lang="plaintext" v-pre="true"><code>def fun end</code></pre>')
|
||||
end
|
||||
end
|
||||
|
||||
context "when a valid language is specified" do
|
||||
it "highlights as that language" do
|
||||
result = filter('<pre><code class="ruby">def fun end</code></pre>')
|
||||
expect(result.to_html).to eq('<pre class="code highlight js-syntax-highlight ruby" v-pre="true"><code><span class="k">def</span> <span class="nf">fun</span> <span class="k">end</span></code></pre>')
|
||||
expect(result.to_html).to eq('<pre class="code highlight js-syntax-highlight ruby" lang="ruby" v-pre="true"><code><span class="k">def</span> <span class="nf">fun</span> <span class="k">end</span></code></pre>')
|
||||
end
|
||||
end
|
||||
|
||||
context "when an invalid language is specified" do
|
||||
it "highlights as plaintext" do
|
||||
result = filter('<pre><code class="gnuplot">This is a test</code></pre>')
|
||||
expect(result.to_html).to eq('<pre class="code highlight js-syntax-highlight plaintext" v-pre="true"><code>This is a test</code></pre>')
|
||||
expect(result.to_html).to eq('<pre class="code highlight js-syntax-highlight plaintext" lang="plaintext" v-pre="true"><code>This is a test</code></pre>')
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -31,7 +31,7 @@ describe Banzai::Filter::SyntaxHighlightFilter, lib: true do
|
|||
|
||||
it "highlights as plaintext" do
|
||||
result = filter('<pre><code class="ruby">This is a test</code></pre>')
|
||||
expect(result.to_html).to eq('<pre class="code highlight" v-pre="true"><code>This is a test</code></pre>')
|
||||
expect(result.to_html).to eq('<pre class="code highlight" lang="" v-pre="true"><code>This is a test</code></pre>')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue