Fix specs and add a new one
This commit is contained in:
parent
677b4db9e6
commit
fa0cbb1399
2 changed files with 44 additions and 35 deletions
|
@ -104,8 +104,7 @@ describe DiffHelper do
|
|||
end
|
||||
end
|
||||
|
||||
describe 'diff_line_content' do
|
||||
|
||||
describe '#diff_line_content' do
|
||||
it 'should return non breaking space when line is empty' do
|
||||
expect(diff_line_content(nil)).to eq(' ')
|
||||
end
|
||||
|
@ -116,9 +115,19 @@ describe DiffHelper do
|
|||
expect(diff_line_content(diff_file.diff_lines.first.type)).to eq('match')
|
||||
expect(diff_file.diff_lines.first.new_pos).to eq(6)
|
||||
end
|
||||
end
|
||||
|
||||
it 'should return safe HTML' do
|
||||
expect(diff_line_content(diff_file.diff_lines.first.text)).to be_html_safe
|
||||
describe "#mark_inline_diffs" do
|
||||
let(:old_line) { %{abc 'def'} }
|
||||
let(:new_line) { %{abc "def"} }
|
||||
|
||||
it "returns strings with marked inline diffs" do
|
||||
marked_old_line, marked_new_line = mark_inline_diffs(old_line, new_line)
|
||||
|
||||
expect(marked_old_line).to eq("abc <span class='idiff left right'>'def'</span>")
|
||||
expect(marked_old_line).to be_html_safe
|
||||
expect(marked_new_line).to eq("abc <span class='idiff left right'>"def"</span>")
|
||||
expect(marked_new_line).to be_html_safe
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -40,38 +40,38 @@ describe Gitlab::Diff::Highlight, lib: true do
|
|||
end
|
||||
end
|
||||
|
||||
context "with diff lines" do
|
||||
let(:subject) { Gitlab::Diff::Highlight.new(diff_file.diff_lines).highlight }
|
||||
context "with diff lines" do
|
||||
let(:subject) { Gitlab::Diff::Highlight.new(diff_file.diff_lines).highlight }
|
||||
|
||||
it 'should return Gitlab::Diff::Line elements' do
|
||||
expect(subject.first).to be_an_instance_of(Gitlab::Diff::Line)
|
||||
end
|
||||
|
||||
it 'should not modify "match" lines' do
|
||||
expect(subject[0].text).to eq('@@ -6,12 +6,18 @@ module Popen')
|
||||
expect(subject[22].text).to eq('@@ -19,6 +25,7 @@ module Popen')
|
||||
end
|
||||
|
||||
it 'marks unchanged lines' do
|
||||
code = %Q{ def popen(cmd, path=nil)}
|
||||
|
||||
expect(subject[2].text).to eq(code)
|
||||
expect(subject[2].text).not_to be_html_safe
|
||||
end
|
||||
|
||||
it 'marks removed lines' do
|
||||
code = %Q{- raise "System commands must be given as an array of strings"}
|
||||
|
||||
expect(subject[4].text).to eq(code)
|
||||
expect(subject[4].text).not_to be_html_safe
|
||||
end
|
||||
|
||||
it 'marks added lines' do
|
||||
code = %Q{+ raise <span class='idiff left right'>RuntimeError, </span>"System commands must be given as an array of strings"}
|
||||
|
||||
expect(subject[5].text).to eq(code)
|
||||
expect(subject[5].text).to be_html_safe
|
||||
end
|
||||
it 'should return Gitlab::Diff::Line elements' do
|
||||
expect(subject.first).to be_an_instance_of(Gitlab::Diff::Line)
|
||||
end
|
||||
|
||||
it 'should not modify "match" lines' do
|
||||
expect(subject[0].text).to eq('@@ -6,12 +6,18 @@ module Popen')
|
||||
expect(subject[22].text).to eq('@@ -19,6 +25,7 @@ module Popen')
|
||||
end
|
||||
|
||||
it 'marks unchanged lines' do
|
||||
code = %Q{ def popen(cmd, path=nil)}
|
||||
|
||||
expect(subject[2].text).to eq(code)
|
||||
expect(subject[2].text).not_to be_html_safe
|
||||
end
|
||||
|
||||
it 'marks removed lines' do
|
||||
code = %Q{- raise "System commands must be given as an array of strings"}
|
||||
|
||||
expect(subject[4].text).to eq(code)
|
||||
expect(subject[4].text).not_to be_html_safe
|
||||
end
|
||||
|
||||
it 'marks added lines' do
|
||||
code = %Q{+ raise <span class='idiff left right'>RuntimeError, </span>"System commands must be given as an array of strings"}
|
||||
|
||||
expect(subject[5].text).to eq(code)
|
||||
expect(subject[5].text).to be_html_safe
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue