From fa0cbb13990a7e7edec55e9724e9c4d676743f3b Mon Sep 17 00:00:00 2001
From: Douwe Maan <douwe@selenight.nl>
Date: Sat, 30 Jan 2016 12:53:12 +0100
Subject: [PATCH] Fix specs and add a new one

---
 spec/helpers/diff_helper_spec.rb       | 17 ++++++---
 spec/lib/gitlab/diff/highlight_spec.rb | 48 +++++++++++++-------------
 2 files changed, 37 insertions(+), 28 deletions(-)

diff --git a/spec/helpers/diff_helper_spec.rb b/spec/helpers/diff_helper_spec.rb
index 955d2852cfd..14986a74c2e 100644
--- a/spec/helpers/diff_helper_spec.rb
+++ b/spec/helpers/diff_helper_spec.rb
@@ -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(' &nbsp;')
     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
+
+  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)
 
-    it 'should return safe HTML' do
-      expect(diff_line_content(diff_file.diff_lines.first.text)).to be_html_safe
+      expect(marked_old_line).to eq("abc <span class='idiff left right'>&#39;def&#39;</span>")
+      expect(marked_old_line).to be_html_safe
+      expect(marked_new_line).to eq("abc <span class='idiff left right'>&quot;def&quot;</span>")
+      expect(marked_new_line).to be_html_safe
     end
   end
 end
diff --git a/spec/lib/gitlab/diff/highlight_spec.rb b/spec/lib/gitlab/diff/highlight_spec.rb
index deab16714e0..d19bf4ac84b 100644
--- a/spec/lib/gitlab/diff/highlight_spec.rb
+++ b/spec/lib/gitlab/diff/highlight_spec.rb
@@ -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 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 '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)}
+      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
+        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"}
+      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
+        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>&quot;System commands must be given as an array of strings&quot;}
+      it 'marks added lines' do
+        code = %Q{+      raise <span class='idiff left right'>RuntimeError, </span>&quot;System commands must be given as an array of strings&quot;}
 
-          expect(subject[5].text).to eq(code)
-          expect(subject[5].text).to be_html_safe
-        end
+        expect(subject[5].text).to eq(code)
+        expect(subject[5].text).to be_html_safe
       end
+    end
   end
 end
-- 
GitLab