o
    LK&h                     @   sh   d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 dd Zd	d
 Zdd Zdd ZdS )    )cleandocN)path)apply_configuration)Distribution)SetuptoolsWarningc                 C   sD   dt dd}tj|| d t }t|| d }|jdgks J d S )Nzsix
  # comment
a]  
            [project]
            name = "myproj"
            version = "1.0"
            dynamic = ["dependencies"]

            [build-system]
            requires = ["setuptools", "wheel"]
            build-backend = "setuptools.build_meta"

            [tool.setuptools.dynamic.dependencies]
            file = ["requirements.txt"]
            )zrequirements.txtpyproject.tomlprefixr   six)r   r   buildr   r   install_requirestmp_pathfilesdist r   j/var/www/html/venv/lib/python3.10/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.pytest_dynamic_dependencies   s   r   c                 C   sH   dt dd}tj|| d t }t|| d }|jddgiks"J d S )Nzsphinx
  # comment
ay  
            [project]
            name = "myproj"
            version = "1.0"
            dynamic = ["optional-dependencies"]

            [tool.setuptools.dynamic.optional-dependencies.docs]
            file = ["requirements-docs.txt"]

            [build-system]
            requires = ["setuptools", "wheel"]
            build-backend = "setuptools.build_meta"
            )zrequirements-docs.txtr   r   r   docssphinx)r   r   r   r   r   extras_requirer   r   r   r   "test_dynamic_optional_dependencies$   s   r   c                 C   sd   dt dd}tj|| d | d }tjtdd tt | W d   dS 1 s+w   Y  dS )	z
    Test that if PEP 621 was loosened to allow mixing of dynamic and static
    configurations in the case of fields containing sub-fields (groups),
    things would work out.
    zpillow~=42.0
  # comment
aI  
            [project]
            name = "myproj"
            version = "1.0"
            dynamic = ["optional-dependencies"]

            [project.optional-dependencies]
            docs = ["sphinx"]

            [tool.setuptools.dynamic.optional-dependencies.images]
            file = ["requirements-images.txt"]
            )zrequirements-images.txtr   r   r   zproject.optional-dependenciesmatchN)r   r   r   pytestraises
ValueErrorr   r   )r   r   	pyprojectr   r   r   (test_mixed_dynamic_optional_dependencies=   s   "r   c                 C   s   dt di}tj|| d | d }tjtdd! tdddgii}t||}|jd	d
giks1J W d    d S 1 s<w   Y  d S )Nr   z
            [project]
            name = "myproj"
            version = "1.0"
            optional-dependencies.docs = ["sphinx"]
            r   z.extras_require. overwrittenr   r   helloworldr   r   )	r   r   r   r   warnsr   r   r   r   )r   r   r   r   r   r   r   /test_mixed_extras_require_optional_dependencies[   s   
"r"   )inspectr   r   jaracor   setuptools.config.pyprojecttomlr   setuptools.distr   setuptools.warningsr   r   r   r   r"   r   r   r   r   <module>   s    