mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
24 lines
860 B
Python
24 lines
860 B
Python
import pytest
|
|
|
|
from pip._internal.cli.cmdoptions import _convert_python_version
|
|
|
|
|
|
@pytest.mark.parametrize('value, expected', [
|
|
('', (None, None)),
|
|
('2', ((2,), None)),
|
|
('3', ((3,), None)),
|
|
('3.7', ((3, 7), None)),
|
|
('3.7.3', ((3, 7, 3), None)),
|
|
# Test strings without dots of length bigger than 1.
|
|
('34', ((3, 4), None)),
|
|
# Test a 2-digit minor version.
|
|
('310', ((3, 10), None)),
|
|
# Test some values that fail to parse.
|
|
('ab', ((), 'each version part must be an integer')),
|
|
('3a', ((), 'each version part must be an integer')),
|
|
('3.7.a', ((), 'each version part must be an integer')),
|
|
('3.7.3.1', ((), 'at most three version parts are allowed')),
|
|
])
|
|
def test_convert_python_version(value, expected):
|
|
actual = _convert_python_version(value)
|
|
assert actual == expected, 'actual: {!r}'.format(actual)
|