Skip to content

Commit 52350e3

Browse files
authored
Merge pull request #12 from sbidoul/fix-extra-detection
Fix optional dependencies detection
2 parents fb21a82 + d20cd33 commit 52350e3

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ select = [
5252
target-version = "py37"
5353
ignore = ["C901"]
5454

55+
[tool.ruff.isort]
56+
known-first-party = ["pyproject_dependencies"]
57+
5558
# coverage
5659

5760
[tool.coverage.run]

src/pyproject_dependencies/__main__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515

1616
from .compat import tomllib
1717

18-
extra_marker_re = re.compile(r"extra\s*==")
18+
extra_marker_re = re.compile(r".+extra\s*==")
1919

2020

2121
def _dep_has_extra(dep: str) -> bool:
22-
return bool(extra_marker_re.search(dep))
22+
return bool(extra_marker_re.match(dep))
2323

2424

2525
def subprocess_runner(

tests/test_utils.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import pytest
2+
3+
from pyproject_dependencies.__main__ import _dep_has_extra
4+
5+
6+
@pytest.mark.parametrize(
7+
("dep", "expected"),
8+
[
9+
("stuff", False),
10+
("stuff[extra]", False),
11+
("stuff==1.0", False),
12+
("extra==1.0", False),
13+
("stuff>=1; extra == 'test'", True),
14+
],
15+
)
16+
def test_dep_has_extras(dep: str, expected: bool) -> None:
17+
assert _dep_has_extra(dep) is expected

0 commit comments

Comments
 (0)