Skip to content

Commit cca4431

Browse files
committed
improve unit test
1 parent 74ff8e5 commit cca4431

File tree

2 files changed

+22
-6
lines changed

2 files changed

+22
-6
lines changed

test/fixtures/index_extended_flags

436 Bytes
Binary file not shown.

test/test_index.py

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1218,14 +1218,29 @@ def test_index_add_non_normalized_path(self, rw_repo):
12181218

12191219
rw_repo.index.add(non_normalized_path)
12201220

1221+
def test_index_file_v3(self):
1222+
index = IndexFile(self.rorepo, fixture_path("index_extended_flags"))
1223+
assert index.entries
1224+
assert index.version == 3
1225+
assert len(index.entries) == 4
1226+
assert index.entries[('init.t', 0)].skip_worktree
1227+
1228+
# Write the data - it must match the original.
1229+
tmpfile = tempfile.mktemp()
1230+
index.write(tmpfile)
1231+
assert Path(tmpfile).read_bytes() == Path(fixture_path("index_extended_flags")).read_bytes()
1232+
os.remove(tmpfile)
1233+
12211234
@with_rw_directory
1222-
def test_index_version_v3(self, tmp_dir):
1235+
def test_index_file_v3_with_git_command(self, tmp_dir):
12231236
tmp_dir = Path(tmp_dir)
12241237
with cwd(tmp_dir):
1225-
subprocess.run(["git", "init", "-q"], check=True)
1238+
git = Git(tmp_dir)
1239+
git.init()
1240+
12261241
file = tmp_dir / "file.txt"
12271242
file.write_text("hello")
1228-
subprocess.run(["git", "add", "-N", "file.txt"], check=True)
1243+
git.add("--intent-to-add", "file.txt") # intent-to-add sets extended flag
12291244

12301245
repo = Repo(tmp_dir)
12311246

@@ -1239,9 +1254,10 @@ def test_index_version_v3(self, tmp_dir):
12391254
repo.index.add(["file2.txt"])
12401255
repo.index.write()
12411256

1242-
status_str = subprocess.check_output(["git", "status", "--porcelain"], text=True)
1243-
assert " A file.txt\n" in status_str
1244-
assert "A file2.txt\n" in status_str
1257+
status_str = git.status(porcelain=True)
1258+
status_lines = status_str.splitlines()
1259+
assert " A file.txt" in status_lines
1260+
assert "A file2.txt" in status_lines
12451261

12461262

12471263
class TestIndexUtils:

0 commit comments

Comments
 (0)