diff --git a/src/poetry/core/version/markers.py b/src/poetry/core/version/markers.py index 5108598e2..62818555d 100644 --- a/src/poetry/core/version/markers.py +++ b/src/poetry/core/version/markers.py @@ -742,7 +742,9 @@ def _compact_markers(tree_elements: "Tree", tree_prefix: str = "") -> MarkerType ) value = value[1:-1] - groups[-1] = MultiMarker.of(groups[-1], SingleMarker(name, f"{op}{value}")) + groups[-1] = MultiMarker.of( + groups[-1], SingleMarker(str(name), f"{op}{value}") + ) elif token.data == f"{tree_prefix}BOOL_OP" and token.children[0] == "or": groups.append(MultiMarker()) diff --git a/tests/packages/test_dependency.py b/tests/packages/test_dependency.py index cbcc7d484..6038417f9 100644 --- a/tests/packages/test_dependency.py +++ b/tests/packages/test_dependency.py @@ -298,3 +298,10 @@ def test_marker_properly_sets_python_constraint(): dependency.marker = 'python_version >= "3.6" and python_version < "4.0"' assert str(dependency.python_constraint) == ">=3.6,<4.0" + + +def test_dependency_markers_are_the_same_as_markers(): + dependency = Dependency.create_from_pep_508('foo ; extra=="bar"') + marker = parse_marker('extra=="bar"') + + assert dependency.marker == marker