Fix Compare view for renames on JRuby (#1682)

This commit is contained in:
Dawa Ometto
2021-02-24 11:53:48 +01:00
committed by GitHub
parent aba3ec37d9
commit b7295df662
2 changed files with 13 additions and 1 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ module Precious
def lines(diff = @diff)
lines = []
lines_to_parse = diff.split("\n")[3..-1]
lines_to_parse = lines_to_parse[2..-1] if lines_to_parse[0].start_with?('---')
lines_to_parse = lines_to_parse[2..-1] if lines_to_parse[0] =~ /^(---|rename to )/
if lines_to_parse.nil? || lines_to_parse.empty?
lines_to_parse = [] # File is created without content
+12
View File
@@ -13,6 +13,18 @@ context "Precious::Views::Compare" do
# Precious::App.set(:gollum_path, @path)
@wiki = Gollum::Wiki.new(@path)
end
test 'rename diff' do
# JGit returns differenly formatted diffs for rename commits. Support both kinds of diff.
jgit_diff = "diff --git a/Foo.md b/Bar.md\nsimilarity index 100%\nrename from Foo.md\nrename to Bar.md"
rugged_diff = "diff --git a/Bar.md b/Bar.md\nnew file mode 100644\nindex 0000000..e69de29\n--- /dev/null\n+++ b/Bar.md\n"
[jgit_diff, rugged_diff].each do |diff|
view = Precious::Views::Compare.new
view.instance_variable_set(:@diff, diff)
assert_equal [], view.lines
end
end
test 'file addition diff' do
view = Precious::Views::Compare.new