chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
import pytest
|
||||
|
||||
|
||||
@pytest.mark.skip_debug()
|
||||
def test_status_reports_untracked_file(git_sandbox, git_repo):
|
||||
git_sandbox.files.write(f"{git_repo}/README.md", "hello\n")
|
||||
|
||||
status = git_sandbox.git.status(git_repo)
|
||||
entry = next(
|
||||
(item for item in status.file_status if item.name == "README.md"), None
|
||||
)
|
||||
|
||||
assert entry is not None
|
||||
assert entry.status == "untracked"
|
||||
assert status.is_clean is False
|
||||
assert status.has_changes is True
|
||||
assert status.has_untracked is True
|
||||
assert status.has_staged is False
|
||||
assert status.has_conflicts is False
|
||||
assert status.total_count == 1
|
||||
assert status.staged_count == 0
|
||||
assert status.unstaged_count == 1
|
||||
assert status.untracked_count == 1
|
||||
assert status.conflict_count == 0
|
||||
|
||||
|
||||
@pytest.mark.skip_debug()
|
||||
def test_status_reports_added_modified_deleted_renamed(
|
||||
git_sandbox, git_repo, git_author
|
||||
):
|
||||
author_name, author_email = git_author
|
||||
|
||||
git_sandbox.files.write(f"{git_repo}/README.md", "hello\n")
|
||||
git_sandbox.files.write(f"{git_repo}/DELETE.md", "delete me\n")
|
||||
git_sandbox.files.write(f"{git_repo}/RENAME.md", "rename me\n")
|
||||
git_sandbox.git.add(git_repo, all=True)
|
||||
git_sandbox.git.commit(
|
||||
git_repo,
|
||||
message="Initial commit",
|
||||
author_name=author_name,
|
||||
author_email=author_email,
|
||||
)
|
||||
|
||||
git_sandbox.files.write(f"{git_repo}/README.md", "hello again\n")
|
||||
git_sandbox.files.write(f"{git_repo}/NEW.md", "new file\n")
|
||||
git_sandbox.git.add(git_repo, files=["NEW.md"])
|
||||
git_sandbox.commands.run(f'git -C "{git_repo}" rm DELETE.md')
|
||||
git_sandbox.commands.run(f'git -C "{git_repo}" mv RENAME.md RENAMED.md')
|
||||
|
||||
status = git_sandbox.git.status(git_repo)
|
||||
modified = next(
|
||||
(item for item in status.file_status if item.name == "README.md"), None
|
||||
)
|
||||
added = next((item for item in status.file_status if item.name == "NEW.md"), None)
|
||||
deleted = next(
|
||||
(item for item in status.file_status if item.name == "DELETE.md"), None
|
||||
)
|
||||
renamed = next(
|
||||
(item for item in status.file_status if item.name == "RENAMED.md"),
|
||||
None,
|
||||
)
|
||||
|
||||
assert modified is not None
|
||||
assert modified.status == "modified"
|
||||
assert modified.staged is False
|
||||
|
||||
assert added is not None
|
||||
assert added.status == "added"
|
||||
assert added.staged is True
|
||||
|
||||
assert deleted is not None
|
||||
assert deleted.status == "deleted"
|
||||
assert deleted.staged is True
|
||||
|
||||
assert renamed is not None
|
||||
assert renamed.status == "renamed"
|
||||
assert renamed.staged is True
|
||||
assert renamed.renamed_from == "RENAME.md"
|
||||
|
||||
assert status.has_changes is True
|
||||
assert status.has_staged is True
|
||||
assert status.has_untracked is False
|
||||
assert status.has_conflicts is False
|
||||
assert status.total_count == 4
|
||||
assert status.staged_count == 3
|
||||
assert status.unstaged_count == 1
|
||||
assert status.untracked_count == 0
|
||||
assert status.conflict_count == 0
|
||||
Reference in New Issue
Block a user