forked from AFPy/potodo
70 lines
2.0 KiB
Python
70 lines
2.0 KiB
Python
import json
|
|
|
|
|
|
def test_txt_output(run_potodo):
|
|
captured = run_potodo(["--exclude", "excluded/", "excluded.po"])
|
|
|
|
assert "file1.po" in captured.out
|
|
assert "file2.po" in captured.out
|
|
assert "# folder" in captured.out
|
|
assert "file3.po" in captured.out
|
|
assert "1 fuzzy" in captured.out
|
|
assert "2 fuzzy" not in captured.out
|
|
assert "excluded" not in captured.out
|
|
|
|
|
|
def test_output(run_potodo, repo_dir):
|
|
output = json.loads(
|
|
run_potodo(["--json", "--exclude", "excluded/", "excluded.po"]).out
|
|
)
|
|
|
|
expected_folder = {
|
|
"name": "folder/",
|
|
"percent_translated": 0.0,
|
|
"files": [
|
|
{
|
|
"name": "folder/file3",
|
|
"path": f"{repo_dir}/folder/file3.po",
|
|
"entries": 1,
|
|
"fuzzies": 0,
|
|
"translated": 0,
|
|
"percent_translated": 0,
|
|
"reserved_by": None,
|
|
"reservation_date": None,
|
|
},
|
|
],
|
|
}
|
|
expected_repository = {
|
|
"name": "repository/",
|
|
"percent_translated": 25.0,
|
|
"files": [
|
|
{
|
|
"name": "repository/file1",
|
|
"path": f"{repo_dir}/file1.po",
|
|
"entries": 3,
|
|
"fuzzies": 1,
|
|
"translated": 1,
|
|
"percent_translated": 33,
|
|
"reserved_by": None,
|
|
"reservation_date": None,
|
|
},
|
|
{
|
|
"name": "repository/file2",
|
|
"path": f"{repo_dir}/file2.po",
|
|
"entries": 1,
|
|
"fuzzies": 0,
|
|
"translated": 0,
|
|
"percent_translated": 0,
|
|
"reserved_by": None,
|
|
"reservation_date": None,
|
|
},
|
|
],
|
|
}
|
|
|
|
assert len(output) == 2
|
|
for item in output:
|
|
if item["name"] == "repository/":
|
|
assert item == expected_repository
|
|
if item["name"] == "folder/":
|
|
assert item == expected_folder
|