diff options
author | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-02-23 07:03:45 +0000 |
---|---|---|
committer | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-02-23 07:03:45 +0000 |
commit | 35f075d8ad7d0ff190bcfec42e7ea061a8255e92 (patch) | |
tree | f9959e20f6694257b3dc10f7874e8c309d31ccb2 | |
parent | 7dfd0bf67920c000ff1f3a268d2596930f35af4f (diff) | |
download | redmine-35f075d8ad7d0ff190bcfec42e7ea061a8255e92.tar.gz redmine-35f075d8ad7d0ff190bcfec42e7ea061a8255e92.zip |
scm: fix diffs do not handle one line new files properly (#7618).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4929 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | lib/redmine/unified_diff.rb | 2 | ||||
-rw-r--r-- | test/unit/lib/redmine/unified_diff_test.rb | 33 |
2 files changed, 33 insertions, 2 deletions
diff --git a/lib/redmine/unified_diff.rb b/lib/redmine/unified_diff.rb index 65d880dd7..430b1254a 100644 --- a/lib/redmine/unified_diff.rb +++ b/lib/redmine/unified_diff.rb @@ -36,7 +36,7 @@ module Redmine end unless diff_table.add_line line line.force_encoding(line_encoding) if line_encoding - self << diff_table if diff_table.length > 1 + self << diff_table if diff_table.length > 0 diff_table = DiffTable.new(diff_type) end lines += 1 diff --git a/test/unit/lib/redmine/unified_diff_test.rb b/test/unit/lib/redmine/unified_diff_test.rb index 7bac78d81..e6da01c8d 100644 --- a/test/unit/lib/redmine/unified_diff_test.rb +++ b/test/unit/lib/redmine/unified_diff_test.rb @@ -60,8 +60,39 @@ DIFF assert_equal 1, diff.size end + def test_one_line_new_files + diff = Redmine::UnifiedDiff.new(<<-DIFF +diff -r 000000000000 -r ea98b14f75f0 README1 +--- /dev/null ++++ b/README1 +@@ -0,0 +1,1 @@ ++test1 +diff -r 000000000000 -r ea98b14f75f0 README2 +--- /dev/null ++++ b/README2 +@@ -0,0 +1,1 @@ ++test2 +diff -r 000000000000 -r ea98b14f75f0 README3 +--- /dev/null ++++ b/README3 +@@ -0,0 +1,3 @@ ++test4 ++test5 ++test6 +diff -r 000000000000 -r ea98b14f75f0 README4 +--- /dev/null ++++ b/README4 +@@ -0,0 +1,3 @@ ++test4 ++test5 ++test6 +DIFF + ) + assert_equal 4, diff.size + end + private - + def read_diff_fixture(filename) File.new(File.join(File.dirname(__FILE__), '/../../../fixtures/diffs', filename)).read end |