require 'spec_helper' describe Gitlab::StringRangeMarker do describe '#mark' do context "when the rich text is html safe" do let(:raw) { "abc " } let(:rich) { %{abc <def>}.html_safe } let(:inline_diffs) { [2..5] } subject do described_class.new(raw, rich).mark(inline_diffs) do |text, left:, right:| "LEFT#{text}RIGHT" end end it 'marks the inline diffs' do expect(subject).to eq(%{abLEFTcRIGHTLEFT RIGHTLEFT<dRIGHTef>}) expect(subject).to be_html_safe end end context "when the rich text is not html safe" do let(:raw) { "abc " } let(:inline_diffs) { [2..5] } subject do described_class.new(raw).mark(inline_diffs) do |text, left:, right:| "LEFT#{text}RIGHT" end end it 'marks the inline diffs' do expect(subject).to eq(%{abLEFTc <dRIGHTef>}) expect(subject).to be_html_safe end end end end