mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-07-19 22:21:04 +08:00
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
from pathlib import Path
|
|
from subprocess import CompletedProcess
|
|
|
|
from tools.hooks import check_files
|
|
|
|
|
|
def test_staged_paths_preserve_whitespace(monkeypatch):
|
|
paths = b"space name.py\0line\nbreak.go\0"
|
|
|
|
def run(command, **kwargs):
|
|
assert command == ["git", "diff", "--cached", "--name-only", "--diff-filter=ACMR", "-z"]
|
|
assert kwargs == {"check": True, "capture_output": True}
|
|
return CompletedProcess(command, 0, stdout=paths)
|
|
|
|
monkeypatch.setattr(check_files.subprocess, "run", run)
|
|
|
|
assert check_files._staged_paths() == [Path("space name.py"), Path("line\nbreak.go")]
|
|
|
|
|
|
def test_case_conflicts_preserve_newlines(monkeypatch, capsys):
|
|
paths = b"dir/A\nfile.py\0dir/a\nfile.py\0"
|
|
|
|
def run(command, **kwargs):
|
|
assert command == ["git", "ls-files", "-z"]
|
|
assert kwargs == {"check": True, "capture_output": True}
|
|
return CompletedProcess(command, 0, stdout=paths)
|
|
|
|
monkeypatch.setattr(check_files.subprocess, "run", run)
|
|
|
|
assert check_files.check_case_conflicts([]) == 1
|
|
assert "case conflict:" in capsys.readouterr().err
|