Fix Compare view for renames on JRuby (#1682)
This commit is contained in:
@@ -20,7 +20,7 @@ module Precious
|
|||||||
def lines(diff = @diff)
|
def lines(diff = @diff)
|
||||||
lines = []
|
lines = []
|
||||||
lines_to_parse = diff.split("\n")[3..-1]
|
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?
|
if lines_to_parse.nil? || lines_to_parse.empty?
|
||||||
lines_to_parse = [] # File is created without content
|
lines_to_parse = [] # File is created without content
|
||||||
|
|||||||
@@ -13,6 +13,18 @@ context "Precious::Views::Compare" do
|
|||||||
# Precious::App.set(:gollum_path, @path)
|
# Precious::App.set(:gollum_path, @path)
|
||||||
@wiki = Gollum::Wiki.new(@path)
|
@wiki = Gollum::Wiki.new(@path)
|
||||||
end
|
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
|
test 'file addition diff' do
|
||||||
view = Precious::Views::Compare.new
|
view = Precious::Views::Compare.new
|
||||||
|
|||||||
Reference in New Issue
Block a user