Skip to content

Commit 1ca974c

Browse files
authored
Marker name is a string, not a lexer token (#286)
* Marker name is a string, not a lexer token * add unit test
1 parent 4c17193 commit 1ca974c

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/poetry/core/version/markers.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,9 @@ def _compact_markers(tree_elements: "Tree", tree_prefix: str = "") -> MarkerType
742742
)
743743

744744
value = value[1:-1]
745-
groups[-1] = MultiMarker.of(groups[-1], SingleMarker(name, f"{op}{value}"))
745+
groups[-1] = MultiMarker.of(
746+
groups[-1], SingleMarker(str(name), f"{op}{value}")
747+
)
746748
elif token.data == f"{tree_prefix}BOOL_OP" and token.children[0] == "or":
747749
groups.append(MultiMarker())
748750

tests/packages/test_dependency.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,3 +298,10 @@ def test_marker_properly_sets_python_constraint():
298298
dependency.marker = 'python_version >= "3.6" and python_version < "4.0"'
299299

300300
assert str(dependency.python_constraint) == ">=3.6,<4.0"
301+
302+
303+
def test_dependency_markers_are_the_same_as_markers():
304+
dependency = Dependency.create_from_pep_508('foo ; extra=="bar"')
305+
marker = parse_marker('extra=="bar"')
306+
307+
assert dependency.marker == marker

0 commit comments

Comments
 (0)