diff --git a/src/poetry/core/factory.py b/src/poetry/core/factory.py index 288a4f03a..8eeda9394 100644 --- a/src/poetry/core/factory.py +++ b/src/poetry/core/factory.py @@ -312,7 +312,7 @@ def _configure_package_metadata( package.readmes = (root / readme["file"],) package.readme_content_type = readme["content-type"] elif "text" in readme: - package.readme_content = root / readme["text"] + package.readme_content = readme["text"] package.readme_content_type = readme["content-type"] elif custom_readme := tool_poetry.get("readme"): custom_readmes = ( diff --git a/tests/test_factory.py b/tests/test_factory.py index 2b7ef1b9e..ddf149d97 100644 --- a/tests/test_factory.py +++ b/tests/test_factory.py @@ -696,6 +696,19 @@ def test_create_poetry_classifiers( assert poetry.package.all_classifiers == expected +def test_create_poetry_inline_readme_text(tmp_path: Path) -> None: + pyproject = tmp_path / "pyproject.toml" + pyproject.write_text( + '[project]\nname="foo"\nversion="1"\ndescription = ""\n' + 'readme = { text = "some text", content-type = "text/markdown" }\n', + encoding="utf-8", + ) + poetry = Factory().create_poetry(tmp_path) + + assert poetry.package.readme_content == "some text" + assert poetry.package.readme_content_type == "text/markdown" + + def test_create_poetry_no_readme(tmp_path: Path) -> None: pyproject = tmp_path / "pyproject.toml" pyproject.write_text(