Skip to content

Commit 00328e5

Browse files
committed
Added new test for invalid versions and updated docs.
1 parent 7f6f2ac commit 00328e5

File tree

5 files changed

+63
-32
lines changed

5 files changed

+63
-32
lines changed

doc-source/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
"sphinx-prompt",
4646
"sphinx_autodoc_typehints",
4747
"sphinx.ext.autosummary",
48+
"autodocsumm",
4849
]
4950

5051
sphinxemoji_style = 'twemoji'

doc-source/docs.rst

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,6 @@
22
API Reference
33
===========================
44

5-
.. contents:: Table of Contents
6-
75
.. automodule:: coverage_pyver_pragma
86
:members:
9-
:private-members:
10-
:special-members:
11-
:inherited-members:
12-
:undoc-members:
13-
14-
15-
:mod:`coverage_pyver_pragma.__init__`
16-
------------------------------------
17-
18-
.. automodule:: coverage_pyver_pragma.__init__
19-
:members:
20-
:private-members:
21-
:special-members:
22-
:inherited-members:
23-
:undoc-members:
7+
:autosummary:

doc-source/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
autodocsumm
12
extras_require
23
sphinx >=3.0.3
34
sphinx-notfound-page

tests/test_plugin.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# stdlib
2+
import sys
3+
4+
# this package
5+
from coverage_pyver_pragma import PyVerPragmaPlugin, make_regexes, not_version_regex, regex_main
6+
7+
8+
class MockConfig:
9+
10+
def __init__(self):
11+
self.exclude_list = [regex_main]
12+
13+
14+
def test_plugin():
15+
mock_config = MockConfig()
16+
PyVerPragmaPlugin().configure(mock_config)
17+
18+
assert mock_config.exclude_list == [p.pattern for p in make_regexes(sys.version_info)] + [not_version_regex]

tests/test_regex.py

Lines changed: 42 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,17 @@ def test_correct_version_regex():
8181

8282
regexes = make_regexes(python_version)
8383

84+
versions_list = [
85+
range(0, python_version.minor),
86+
range(python_version.minor + 1, 10),
87+
range(0, python_version.minor + 1),
88+
range(python_version.minor, 10),
89+
[python_version.minor],
90+
[python_version.minor],
91+
]
92+
8493
# TODO: Plus
85-
for pre_version_sign, minor_versions in zip(
86-
['>', '<', ">=", "<=", ''],
87-
[range(0, python_version.minor), range(python_version.minor + 1, 10), range(0, python_version.minor + 1), range(python_version.minor, 10), [python_version.minor], [python_version.minor]]
88-
):
94+
for pre_version_sign, minor_versions in zip(['>', '<', ">=", "<=", ''], versions_list):
8995
for minor_version in minor_versions:
9096
version = 30 + minor_version
9197

@@ -111,14 +117,35 @@ def test_correct_version_regex():
111117
print(f"Ran {counter} tests")
112118

113119

114-
class MockConfig:
115-
116-
def __init__(self):
117-
self.exclude_list = [regex_main]
118-
119-
120-
def test_plugin():
121-
mock_config = MockConfig()
122-
PyVerPragmaPlugin().configure(mock_config)
123-
124-
assert mock_config.exclude_list == [p.pattern for p in make_regexes(sys.version_info)] + [not_version_regex]
120+
@pytest.mark.parametrize(
121+
"version_tuple",
122+
[
123+
Version(1, 0),
124+
Version(1, 1),
125+
Version(1, 2),
126+
Version(1, 3),
127+
Version(1, 4),
128+
Version(1, 6),
129+
Version(2, 0),
130+
Version(2, 1),
131+
Version(2, 2),
132+
Version(2, 3),
133+
Version(2, 4),
134+
Version(2, 5),
135+
Version(2, 6),
136+
Version(2, 7),
137+
Version(4, 0),
138+
Version(4, 1),
139+
Version(4, 2),
140+
Version(4, 3),
141+
Version(4, 4),
142+
Version(4, 5),
143+
Version(4, 6),
144+
Version(4, 7),
145+
Version(4, 8),
146+
Version(4, 9),
147+
]
148+
)
149+
def test_invalid_versions(version_tuple):
150+
with pytest.raises(ValueError):
151+
make_regexes(version_tuple)

0 commit comments

Comments
 (0)