o
    DD©i[  ã                   @   s€   d dl mZ d dlZd dlmZ d dlmZmZmZ d dl	m
Z
 d dlmZ G dd„ deƒZG d	d
„ d
eƒZG dd„ deƒZdS )é    )ÚdedentN)Úparse_module)ÚCodemodContextÚContextAwareTransformerÚContextAwareVisitor)ÚPositionProvider)ÚUnitTestc                   @   ó&   e Zd ZefZdejddfdd„ZdS )ÚTestingCollectorÚnodeÚreturnNc                 C   s(   |   t|¡}|jj|jjf| jjd< d S )NÚpass)Úget_metadatar   ÚstartÚlineÚcolumnÚcontextÚscratch©Úselfr   Úposition© r   ú[/var/www/Datamplify/venv/lib/python3.10/site-packages/libcst/codemod/tests/test_metadata.pyÚ
visit_Pass   s   zTestingCollector.visit_Pass)Ú__name__Ú
__module__Ú__qualname__r   ÚMETADATA_DEPENDENCIESÚcstÚPassr   r   r   r   r   r
      ó    r
   c                   @   r	   )ÚTestingTransformr   r   Nc                 C   s<   |   t|¡}|jj|jjf| jj|jj< | 	t
| jƒ¡ d S )N)r   r   r   r   r   r   r   ÚnameÚvalueÚvisitr
   r   r   r   r   Úvisit_FunctionDef   s
   þz"TestingTransform.visit_FunctionDef)r   r   r   r   r   r   ÚFunctionDefr%   r   r   r   r   r!      r    r!   c                   @   s   e Zd Zddd„ZdS )ÚTestMetadatar   Nc                 C   sB   d}t t|ƒƒ}tƒ }t|ƒ}| |¡ |  |jddddœ¡ d S )Nzu
            def foo() -> None:
                pass

            def bar() -> int:
                return 5
        )é   r   )é   é   )é   r   )Úfoor   Úbar)r   r   r   r!   Útransform_moduleÚassertEqualr   )r   ÚcodeÚmoduler   Ú	transformr   r   r   Útest_metadata_works$   s   
ÿz TestMetadata.test_metadata_works)r   N)r   r   r   r3   r   r   r   r   r'   #   s    r'   )Útextwrapr   Úlibcstr   r   Úlibcst.codemodr   r   r   Úlibcst.metadatar   Úlibcst.testing.utilsr   r
   r!   r'   r   r   r   r   Ú<module>   s   