diff --git a/app/helpers/diff_helper.rb b/app/helpers/diff_helper.rb index 2ff8c65e5ca..22deb69cec5 100644 --- a/app/helpers/diff_helper.rb +++ b/app/helpers/diff_helper.rb @@ -56,7 +56,7 @@ module DiffHelper # diff_file.highlighted_diff_lines.each do |line| - full_line = line.highlighted_text + full_line = line.text type = line.type line_code = generate_line_code(diff_file.file_path, line) line_new = line.new_pos @@ -67,7 +67,7 @@ module DiffHelper if next_line next_line_code = generate_line_code(diff_file.file_path, next_line) next_type = next_line.type - next_line = next_line.highlighted_text + next_line = next_line.text end if type == 'match' || type.nil? diff --git a/app/views/projects/diffs/_text_file.html.haml b/app/views/projects/diffs/_text_file.html.haml index 641e9e5501a..059d0baf45e 100644 --- a/app/views/projects/diffs/_text_file.html.haml +++ b/app/views/projects/diffs/_text_file.html.haml @@ -22,7 +22,7 @@ = link_to_new_diff_note(line_code) %td.new_line{data: {linenumber: line.new_pos}} = link_to raw(type == "old" ? " " : line.new_pos) , "##{line_code}", id: line_code - %td.line_content{class: "noteable_line #{type} #{line_code}", "line_code" => line_code}= raw(diff_line_content(line.highlighted_text)) + %td.line_content{class: "noteable_line #{type} #{line_code}", "line_code" => line_code}= raw(diff_line_content(line.text)) - if @reply_allowed - comments = @line_notes.select { |n| n.line_code == line_code && n.active? }.sort_by(&:created_at) diff --git a/lib/gitlab/diff/highlight.rb b/lib/gitlab/diff/highlight.rb index adb437abed2..d0c2e3670c6 100644 --- a/lib/gitlab/diff/highlight.rb +++ b/lib/gitlab/diff/highlight.rb @@ -25,7 +25,7 @@ module Gitlab def update_diff_lines @highlighted_code.lines.each_with_index do |line, i| - @diff_lines[i].highlighted_text = "#{@diff_line_prefixes[i]}#{line}" + @diff_lines[i].text = "#{@diff_line_prefixes[i]}#{line}" end @diff_lines diff --git a/lib/gitlab/diff/line.rb b/lib/gitlab/diff/line.rb index c48c69fb344..03730b435ad 100644 --- a/lib/gitlab/diff/line.rb +++ b/lib/gitlab/diff/line.rb @@ -1,8 +1,8 @@ module Gitlab module Diff class Line - attr_reader :type, :text, :index, :old_pos, :new_pos - attr_accessor :highlighted_text + attr_reader :type, :index, :old_pos, :new_pos + attr_accessor :text def initialize(text, type, index, old_pos, new_pos) @text, @type, @index = text, type, index diff --git a/spec/fixtures/parallel_diff_result.yml b/spec/fixtures/parallel_diff_result.yml new file mode 100644 index 00000000000..abbb364f61f --- /dev/null +++ b/spec/fixtures/parallel_diff_result.yml @@ -0,0 +1,274 @@ +--- +- - match + - 6 + - | + @@ -6,12 +6,18 @@ module Popen + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_6_6 + - match + - 6 + - | + @@ -6,12 +6,18 @@ module Popen + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_6_6 +- - + - 6 + - | + + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_6_6 + - + - 6 + - | + + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_6_6 +- - + - 7 + - | + def popen(cmd, path=nil) + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_7_7 + - + - 7 + - | + def popen(cmd, path=nil) + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_7_7 +- - + - 8 + - | + unless cmd.is_a?(Array) + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_8_8 + - + - 8 + - | + unless cmd.is_a?(Array) + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_8_8 +- - old + - 9 + - | + - raise "System commands must be given as an array of strings" + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_9_9 + - new + - 9 + - | + + raise RuntimeError, "System commands must be given as an array of strings" + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_10_9 +- - + - 10 + - | + end + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_10_10 + - + - 10 + - | + end + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_10_10 +- - + - 11 + - | + + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_11_11 + - + - 11 + - | + + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_11_11 +- - + - 12 + - | + path ||= Dir.pwd + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_12_12 + - + - 12 + - | + path ||= Dir.pwd + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_12_12 +- - old + - 13 + - | + - vars = { "PWD" => path } + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_13_13 + - old + - + - " " + - +- - old + - 14 + - | + - options = { chdir: path } + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_14_13 + - new + - 13 + - | + + + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_13 +- - + - + - " " + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_14 + - new + - 14 + - | + + vars = { + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_14 +- - + - + - " " + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_15 + - new + - 15 + - | + + "PWD" => path + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_15 +- - + - + - " " + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_16 + - new + - 16 + - | + + } + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_16 +- - + - + - " " + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_17 + - new + - 17 + - | + + + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_17 +- - + - + - " " + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_18 + - new + - 18 + - | + + options = { + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_18 +- - + - + - " " + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_19 + - new + - 19 + - | + + chdir: path + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_19 +- - + - + - " " + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_20 + - new + - 20 + - | + + } + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_20 +- - + - 15 + - | + + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_21 + - + - 21 + - | + + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_21 +- - + - 16 + - | + unless File.directory?(path) + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_16_22 + - + - 22 + - | + unless File.directory?(path) + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_16_22 +- - + - 17 + - | + FileUtils.mkdir_p(path) + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_17_23 + - + - 23 + - | + FileUtils.mkdir_p(path) + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_17_23 +- - match + - 19 + - | + @@ -19,6 +25,7 @@ module Popen + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_19_25 + - match + - 25 + - | + @@ -19,6 +25,7 @@ module Popen + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_19_25 +- - + - 19 + - | + + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_19_25 + - + - 25 + - | + + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_19_25 +- - + - 20 + - | + @cmd_output = "" + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_20_26 + - + - 26 + - | + @cmd_output = "" + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_20_26 +- - + - 21 + - | + @cmd_status = 0 + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_21_27 + - + - 27 + - | + @cmd_status = 0 + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_21_27 +- - + - + - " " + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_22_28 + - new + - 28 + - | + + + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_22_28 +- - + - 22 + - | + Open3.popen3(vars, *cmd, options) do |stdin, stdout, stderr, wait_thr| + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_22_29 + - + - 29 + - | + Open3.popen3(vars, *cmd, options) do |stdin, stdout, stderr, wait_thr| + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_22_29 +- - + - 23 + - | + @cmd_output << stdout.read + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_23_30 + - + - 30 + - | + @cmd_output << stdout.read + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_23_30 +- - + - 24 + - @cmd_output << stderr.read + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_24_31 + - + - 31 + - @cmd_output << stderr.read + - 2f6fcd96b88b36ce98c38da085c795a27d92a3dd_24_31 diff --git a/spec/helpers/diff_helper_spec.rb b/spec/helpers/diff_helper_spec.rb index 7c96a74e581..0501c2e8c29 100644 --- a/spec/helpers/diff_helper_spec.rb +++ b/spec/helpers/diff_helper_spec.rb @@ -131,34 +131,6 @@ describe DiffHelper do end def parallel_diff_result_array - [ - ["match", 6, "@@ -6,12 +6,18 @@ module Popen", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_6_6", "match", 6, "@@ -6,12 +6,18 @@ module Popen", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_6_6"], - [nil, 6, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_6_6", nil, 6, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_6_6"], [nil, 7, " def popen(cmd, path=nil)", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_7_7", nil, 7, " def popen(cmd, path=nil)", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_7_7"], - [nil, 8, " unless cmd.is_a?(Array)", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_8_8", nil, 8, " unless cmd.is_a?(Array)", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_8_8"], - ["old", 9, "- raise "System commands must be given as an array of strings"", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_9_9", "new", 9, "+ raise RuntimeError, "System commands must be given as an array of strings"", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_10_9"], - [nil, 10, " end", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_10_10", nil, 10, " end", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_10_10"], - [nil, 11, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_11_11", nil, 11, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_11_11"], - [nil, 12, " path ||= Dir.pwd", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_12_12", nil, 12, " path ||= Dir.pwd", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_12_12"], - ["old", 13, "- vars = { "PWD" => path }", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_13_13", "old", nil, " ", nil], - ["old", 14, "- options = { chdir: path }", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_14_13", "new", 13, "+", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_13"], - [nil, nil, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_14", "new", 14, "+ vars = {", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_14"], - [nil, nil, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_15", "new", 15, "+ "PWD" => path", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_15"], - [nil, nil, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_16", "new", 16, "+ }", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_16"], - [nil, nil, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_17", "new", 17, "+", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_17"], - [nil, nil, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_18", "new", 18, "+ options = {", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_18"], - [nil, nil, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_19", "new", 19, "+ chdir: path", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_19"], - [nil, nil, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_20", "new", 20, "+ }", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_20"], - [nil, 15, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_21", nil, 21, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_21"], - [nil, 16, " unless File.directory?(path)", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_16_22", nil, 22, " unless File.directory?(path)", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_16_22"], - [nil, 17, " FileUtils.mkdir_p(path)", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_17_23", nil, 23, " FileUtils.mkdir_p(path)", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_17_23"], - ["match", 19, "@@ -19,6 +25,7 @@ module Popen", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_19_25", "match", 25, "@@ -19,6 +25,7 @@ module Popen", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_19_25"], - [nil, 19, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_19_25", nil, 25, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_19_25"], - [nil, 20, " @cmd_output = """, "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_20_26", nil, 26, " @cmd_output = """, "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_20_26"], - [nil, 21, " @cmd_status = 0", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_21_27", nil, 27, " @cmd_status = 0", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_21_27"], - [nil, nil, " ", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_22_28", "new", 28, "+", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_22_28"], - [nil, 22, " Open3.popen3(vars, *cmd, options) do |stdin, stdout, stderr, wait_thr|", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_22_29", nil, 29, " Open3.popen3(vars, *cmd, options) do |stdin, stdout, stderr, wait_thr|", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_22_29"], - [nil, 23, " @cmd_output << stdout.read", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_23_30", nil, 30, " @cmd_output << stdout.read", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_23_30"], - [nil, 24, " @cmd_output << stderr.read", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_24_31", nil, 31, " @cmd_output << stderr.read", "2f6fcd96b88b36ce98c38da085c795a27d92a3dd_24_31"] - ] + YAML.load_file("#{Rails.root}/spec/fixtures/parallel_diff_result.yml") end end