Skip to content

Commit 108d9e4

Browse files
Add a failing test case for Rugged::Tree.diff.
1 parent 4b0361b commit 108d9e4

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

test/diff_test.rb

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1188,6 +1188,50 @@ def test_other_is_wrong_type
11881188
assert_equal "A Rugged::Commit, Rugged::Tree or Rugged::Index instance is required", ex.message
11891189
end
11901190

1191+
def test_self_is_nil_other_is_tree_does_not_fail
1192+
repo = FixtureRepo.from_libgit2("diff")
1193+
1194+
a = repo.lookup("d70d245ed97ed2aa596dd1af6536e4bfdb047b69")
1195+
1196+
diff = Rugged::Tree.diff(repo, nil, a.tree)
1197+
assert_equal 2, diff.size
1198+
assert_equal 2, diff.deltas.size
1199+
1200+
delta = diff.deltas[0]
1201+
assert_equal({
1202+
oid: "0000000000000000000000000000000000000000",
1203+
path: "another.txt",
1204+
size: 0,
1205+
flags: 4,
1206+
mode: 0
1207+
}, delta.old_file)
1208+
1209+
assert_equal({
1210+
oid: "3e5bcbad2a68e5bc60a53b8388eea53a1a7ab847",
1211+
path: "another.txt",
1212+
size: 0,
1213+
flags: 12,
1214+
mode: 0100644
1215+
}, delta.new_file)
1216+
1217+
delta = diff.deltas[1]
1218+
assert_equal({
1219+
oid: "0000000000000000000000000000000000000000",
1220+
path: "readme.txt",
1221+
size: 0,
1222+
flags: 4,
1223+
mode: 0
1224+
}, delta.old_file)
1225+
1226+
assert_equal({
1227+
oid: "7b808f723a8ca90df319682c221187235af76693",
1228+
path: "readme.txt",
1229+
size: 0,
1230+
flags: 12,
1231+
mode: 0100644
1232+
}, delta.new_file)
1233+
end
1234+
11911235
def test_other_tree_is_an_index_but_tree_is_nil
11921236
repo = FixtureRepo.from_libgit2("diff")
11931237

0 commit comments

Comments
 (0)