diff options
Diffstat (limited to 'spec/lib')
-rw-r--r-- | spec/lib/gitlab/string_range_marker_spec.rb | 4 | ||||
-rw-r--r-- | spec/lib/gitlab/string_regex_marker_spec.rb | 18 |
2 files changed, 20 insertions, 2 deletions
diff --git a/spec/lib/gitlab/string_range_marker_spec.rb b/spec/lib/gitlab/string_range_marker_spec.rb index 45b4d4af206..7c77772b3f6 100644 --- a/spec/lib/gitlab/string_range_marker_spec.rb +++ b/spec/lib/gitlab/string_range_marker_spec.rb @@ -6,7 +6,7 @@ describe Gitlab::StringRangeMarker, lib: true do let(:raw) { "abc <def>" } let(:rich) { %{<span class="abc">abc</span><span class="space"> </span><span class="def"><def></span>}.html_safe } let(:inline_diffs) { [2..5] } - let(:subject) do + subject do described_class.new(raw, rich).mark(inline_diffs) do |text, left:, right:| "LEFT#{text}RIGHT" end @@ -21,7 +21,7 @@ describe Gitlab::StringRangeMarker, lib: true do context "when the rich text is not html safe" do let(:raw) { "abc <def>" } let(:inline_diffs) { [2..5] } - let(:subject) do + subject do described_class.new(raw).mark(inline_diffs) do |text, left:, right:| "LEFT#{text}RIGHT" end diff --git a/spec/lib/gitlab/string_regex_marker_spec.rb b/spec/lib/gitlab/string_regex_marker_spec.rb new file mode 100644 index 00000000000..2f5cf6c6e3b --- /dev/null +++ b/spec/lib/gitlab/string_regex_marker_spec.rb @@ -0,0 +1,18 @@ +require 'spec_helper' + +describe Gitlab::StringRegexMarker, lib: true do + describe '#mark' do + let(:raw) { %{"name": "AFNetworking"} } + let(:rich) { %{<span class="key">"name"</span><span class="punctuation">: </span><span class="value">"AFNetworking"</span>}.html_safe } + subject do + described_class.new(raw, rich).mark(/"[^"]+":\s*"(?<name>[^"]+)"/, group: :name) do |text, left:, right:| + %{<a href="#">#{text}</a>} + end + end + + it 'marks the inline diffs' do + expect(subject).to eq(%{<span class="key">"name"</span><span class="punctuation">: </span><span class="value">"<a href="#">AFNetworking</a>"</span>}) + expect(subject).to be_html_safe + end + end +end |