45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
from pathlib import Path
|
|
|
|
import pytest
|
|
import os
|
|
|
|
from powrap import powrap
|
|
|
|
FIXTURE_DIR = Path(__file__).resolve().parent
|
|
|
|
|
|
@pytest.mark.parametrize("po_file", (FIXTURE_DIR / "bad" / "glossary.po",))
|
|
def test_fail_on_bad_wrapping(po_file, capsys):
|
|
assert powrap.check_style([po_file]) == 1
|
|
assert str(po_file) in capsys.readouterr().err
|
|
|
|
|
|
@pytest.mark.parametrize("po_file", (FIXTURE_DIR / "good").glob("*.po"))
|
|
def test_success_on_good_wrapping(po_file, capsys):
|
|
assert powrap.check_style([po_file]) == 0
|
|
assert str(po_file) not in capsys.readouterr().err
|
|
|
|
|
|
@pytest.mark.parametrize("po_file", (FIXTURE_DIR / "bad" / "invalid_po_file.po",))
|
|
def test_msgcat_error(po_file, capsys):
|
|
assert powrap.check_style([po_file]) == 0
|
|
assert str(po_file) not in capsys.readouterr().err
|
|
|
|
|
|
@pytest.mark.parametrize("po_file", ("non_existent_file.po",))
|
|
def test_fileread_error(po_file, capsys):
|
|
assert powrap.check_style([po_file]) == 0
|
|
assert str(po_file) not in capsys.readouterr().err
|
|
|
|
|
|
@pytest.mark.parametrize("po_file", (FIXTURE_DIR / "good").glob("*.po"))
|
|
def test_wrong_msgcat(po_file):
|
|
"""Test if msgcat is not available"""
|
|
environ_saved = os.environ["PATH"]
|
|
os.environ["PATH"] = ""
|
|
with pytest.raises(SystemExit) as sysexit:
|
|
powrap.check_style([po_file])
|
|
os.environ["PATH"] = environ_saved
|
|
assert sysexit.type == SystemExit
|
|
assert sysexit.value.code == 127
|