Fix specs
This commit is contained in:
parent
6685cbeb99
commit
f90909307e
|
@ -172,7 +172,9 @@ module GitlabMarkdownHelper
|
|||
# text hasn't already been truncated, then append "..." to the node contents
|
||||
# and return true. Otherwise return false.
|
||||
def truncate_if_block(node, truncated)
|
||||
if node.element? && node.description&.block? && !truncated
|
||||
return true if truncated
|
||||
|
||||
if node.element? && (node.description&.block? || node.matches?('pre > code > .line'))
|
||||
node.inner_html = "#{node.inner_html}..." if node.next_sibling
|
||||
true
|
||||
else
|
||||
|
|
|
@ -560,7 +560,7 @@ describe 'Copy as GFM', feature: true, js: true do
|
|||
|
||||
def verify(selector, gfm)
|
||||
html = html_for_selector(selector)
|
||||
output_gfm = html_to_gfm(html, 'transformCodeSelection');
|
||||
output_gfm = html_to_gfm(html, 'transformCodeSelection')
|
||||
expect(output_gfm.strip).to eq(gfm.strip)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -19,12 +19,12 @@ describe BlobHelper do
|
|||
describe '#highlight' do
|
||||
it 'returns plaintext for unknown lexer context' do
|
||||
result = helper.highlight(blob_name, no_context_content)
|
||||
expect(result).to eq(%[<pre class="code highlight"><code><span id="LC1" class="line">:type "assem"))</span></code></pre>])
|
||||
expect(result).to eq(%[<pre class="code highlight"><code><span id="LC1" class="line" lang="">:type "assem"))</span></code></pre>])
|
||||
end
|
||||
|
||||
it 'highlights single block' do
|
||||
expected = %Q[<pre class="code highlight"><code><span id="LC1" class="line"><span class="p">(</span><span class="nb">make-pathname</span> <span class="ss">:defaults</span> <span class="nv">name</span></span>
|
||||
<span id="LC2" class="line"><span class="ss">:type</span> <span class="s">"assem"</span><span class="p">))</span></span></code></pre>]
|
||||
expected = %Q[<pre class="code highlight"><code><span id="LC1" class="line" lang="common_lisp"><span class="p">(</span><span class="nb">make-pathname</span> <span class="ss">:defaults</span> <span class="nv">name</span></span>
|
||||
<span id="LC2" class="line" lang="common_lisp"><span class="ss">:type</span> <span class="s">"assem"</span><span class="p">))</span></span></code></pre>]
|
||||
|
||||
expect(helper.highlight(blob_name, blob_content)).to eq(expected)
|
||||
end
|
||||
|
@ -43,10 +43,10 @@ describe BlobHelper do
|
|||
let(:blob_name) { 'test.diff' }
|
||||
let(:blob_content) { "+aaa\n+bbb\n- ccc\n ddd\n"}
|
||||
let(:expected) do
|
||||
%q(<pre class="code highlight"><code><span id="LC1" class="line"><span class="gi">+aaa</span></span>
|
||||
<span id="LC2" class="line"><span class="gi">+bbb</span></span>
|
||||
<span id="LC3" class="line"><span class="gd">- ccc</span></span>
|
||||
<span id="LC4" class="line"> ddd</span></code></pre>)
|
||||
%q(<pre class="code highlight"><code><span id="LC1" class="line" lang="diff"><span class="gi">+aaa</span></span>
|
||||
<span id="LC2" class="line" lang="diff"><span class="gi">+bbb</span></span>
|
||||
<span id="LC3" class="line" lang="diff"><span class="gd">- ccc</span></span>
|
||||
<span id="LC4" class="line" lang="diff"> ddd</span></code></pre>)
|
||||
end
|
||||
|
||||
it 'highlights each line properly' do
|
||||
|
|
|
@ -28,7 +28,7 @@ describe EventsHelper do
|
|||
|
||||
it 'displays the first line of a code block' do
|
||||
input = "```\nCode block\nwith two lines\n```"
|
||||
expected = %r{<pre.+><code>Code block\.\.\.</code></pre>}
|
||||
expected = %r{<pre.+><code><span class="line">Code block\.\.\.</span>\n</code></pre>}
|
||||
|
||||
expect(helper.event_note(input)).to match(expected)
|
||||
end
|
||||
|
@ -55,10 +55,8 @@ describe EventsHelper do
|
|||
it 'preserves code color scheme' do
|
||||
input = "```ruby\ndef test\n 'hello world'\nend\n```"
|
||||
expected = '<pre class="code highlight js-syntax-highlight ruby">' \
|
||||
"<code><span class=\"k\">def</span> <span class=\"nf\">test</span>\n" \
|
||||
" <span class=\"s1\">\'hello world\'</span>\n" \
|
||||
"<span class=\"k\">end</span>\n" \
|
||||
'</code></pre>'
|
||||
"<code><span class=\"line\"><span class=\"k\">def</span> <span class=\"nf\">test</span>...</span>\n" \
|
||||
"</code></pre>"
|
||||
expect(helper.event_note(input)).to eq(expected)
|
||||
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" lang="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><span id="LC1" class="line" lang="plaintext">def fun end</span></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" lang="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 id="LC1" class="line" lang="ruby"><span class="k">def</span> <span class="nf">fun</span> <span class="k">end</span></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" lang="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><span id="LC1" class="line" lang="plaintext">This is a test</span></code></pre>')
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -22,19 +22,19 @@ describe Gitlab::Diff::Highlight, lib: true do
|
|||
end
|
||||
|
||||
it 'highlights and marks unchanged lines' do
|
||||
code = %Q{ <span id="LC7" class="line"> <span class="k">def</span> <span class="nf">popen</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">path</span><span class="o">=</span><span class="kp">nil</span><span class="p">)</span></span>\n}
|
||||
code = %Q{ <span id="LC7" class="line" lang="ruby"> <span class="k">def</span> <span class="nf">popen</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">path</span><span class="o">=</span><span class="kp">nil</span><span class="p">)</span></span>\n}
|
||||
|
||||
expect(subject[2].text).to eq(code)
|
||||
end
|
||||
|
||||
it 'highlights and marks removed lines' do
|
||||
code = %Q{-<span id="LC9" class="line"> <span class="k">raise</span> <span class="s2">"System commands must be given as an array of strings"</span></span>\n}
|
||||
code = %Q{-<span id="LC9" class="line" lang="ruby"> <span class="k">raise</span> <span class="s2">"System commands must be given as an array of strings"</span></span>\n}
|
||||
|
||||
expect(subject[4].text).to eq(code)
|
||||
end
|
||||
|
||||
it 'highlights and marks added lines' do
|
||||
code = %Q{+<span id="LC9" class="line"> <span class="k">raise</span> <span class="no"><span class='idiff left'>RuntimeError</span></span><span class="p"><span class='idiff'>,</span></span><span class='idiff right'> </span><span class="s2">"System commands must be given as an array of strings"</span></span>\n}
|
||||
code = %Q{+<span id="LC9" class="line" lang="ruby"> <span class="k">raise</span> <span class="no"><span class='idiff left'>RuntimeError</span></span><span class="p"><span class='idiff'>,</span></span><span class='idiff right'> </span><span class="s2">"System commands must be given as an array of strings"</span></span>\n}
|
||||
|
||||
expect(subject[5].text).to eq(code)
|
||||
end
|
||||
|
|
|
@ -13,9 +13,9 @@ describe Gitlab::Highlight, lib: true do
|
|||
end
|
||||
|
||||
it 'highlights all the lines properly' do
|
||||
expect(lines[4]).to eq(%Q{<span id="LC5" class="line"> <span class="kp">extend</span> <span class="nb">self</span></span>\n})
|
||||
expect(lines[21]).to eq(%Q{<span id="LC22" class="line"> <span class="k">unless</span> <span class="no">File</span><span class="p">.</span><span class="nf">directory?</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></span>\n})
|
||||
expect(lines[26]).to eq(%Q{<span id="LC27" class="line"> <span class="vi">@cmd_status</span> <span class="o">=</span> <span class="mi">0</span></span>\n})
|
||||
expect(lines[4]).to eq(%Q{<span id="LC5" class="line" lang="ruby"> <span class="kp">extend</span> <span class="nb">self</span></span>\n})
|
||||
expect(lines[21]).to eq(%Q{<span id="LC22" class="line" lang="ruby"> <span class="k">unless</span> <span class="no">File</span><span class="p">.</span><span class="nf">directory?</span><span class="p">(</span><span class="n">path</span><span class="p">)</span></span>\n})
|
||||
expect(lines[26]).to eq(%Q{<span id="LC27" class="line" lang="ruby"> <span class="vi">@cmd_status</span> <span class="o">=</span> <span class="mi">0</span></span>\n})
|
||||
end
|
||||
|
||||
describe 'with CRLF' do
|
||||
|
@ -26,7 +26,7 @@ describe Gitlab::Highlight, lib: true do
|
|||
end
|
||||
|
||||
it 'strips extra LFs' do
|
||||
expect(lines[0]).to eq("<span id=\"LC1\" class=\"line\">test </span>")
|
||||
expect(lines[0]).to eq("<span id=\"LC1\" class=\"line\" lang=\"plaintext\">test </span>")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue