2022-01-16 08:24:05 +08:00
|
|
|
from __future__ import annotations
|
|
|
|
|
2015-03-21 04:52:21 +08:00
|
|
|
import pytest
|
|
|
|
|
|
|
|
from pre_commit_hooks.util import CalledProcessError
|
|
|
|
from pre_commit_hooks.util import cmd_output
|
2020-08-03 02:25:07 +08:00
|
|
|
from pre_commit_hooks.util import zsplit
|
2015-03-21 04:52:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
def test_raises_on_error():
|
|
|
|
with pytest.raises(CalledProcessError):
|
|
|
|
cmd_output('sh', '-c', 'exit 1')
|
|
|
|
|
|
|
|
|
|
|
|
def test_output():
|
|
|
|
ret = cmd_output('sh', '-c', 'echo hi')
|
|
|
|
assert ret == 'hi\n'
|
2020-08-03 02:25:07 +08:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize('out', ('\0f1\0f2\0', '\0f1\0f2', 'f1\0f2\0'))
|
|
|
|
def test_check_zsplits_str_correctly(out):
|
|
|
|
assert zsplit(out) == ['f1', 'f2']
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize('out', ('\0\0', '\0', ''))
|
|
|
|
def test_check_zsplit_returns_empty(out):
|
|
|
|
assert zsplit(out) == []
|