U
    ÈZjý@  ã                   @   sF   d Z ddlZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZdS )	zDocumentation tests.
é    Nc                   @   sl   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ ZdS )ÚTest_asStructuredTextc                 C   s   ddl m} ||ƒS )Nr   )ÚasStructuredText)Úzope.interface.documentr   )ÚselfÚifacer   © r   úe/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/zope/interface/tests/test_document.pyÚ_callFUT   s    zTest_asStructuredText._callFUTc                 C   sD   ddl m} d ddddg¡}G dd„ d|ƒ}|  |  |¡|¡ d S )	Nr   ©Ú	Interfaceú

ÚINoDocstringú Attributes:ú	 Methods:Ú c                   @   s   e Zd ZdS )zNTest_asStructuredText.test_asStructuredText_no_docstring.<locals>.INoDocstringN©Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   !   s   ©Úzope.interfacer   ÚjoinÚassertEqualr	   ©r   r   ÚEXPECTEDr   r   r   r   Ú"test_asStructuredText_no_docstring   s    üz8Test_asStructuredText.test_asStructuredText_no_docstringc                 C   sF   ddl m} d dddddg¡}G d	d„ d|ƒ}|  |  |¡|¡ d S )
Nr   r
   r   ÚIEmptyú This is an empty interface.r   r   r   c                   @   s   e Zd ZdZdS )zPTest_asStructuredText.test_asStructuredText_empty_with_docstring.<locals>.IEmptyú) This is an empty interface.
            N©r   r   r   Ú__doc__r   r   r   r   r   .   s   r   ©r   r   r   r   r   r   r   Ú*test_asStructuredText_empty_with_docstring%   s    ûz@Test_asStructuredText.test_asStructuredText_empty_with_docstringc                 C   sT   ddl m} d dddddd	dd
ddddg¡}G dd„ d|ƒ}|  |  |¡|¡ d S )Nr   r
   Ú
r   r   r   ú úP             It can be used to annotate any class or object, because it promisesú             nothing.r   r   c                   @   s   e Zd ZdZdS )zZTest_asStructuredText.test_asStructuredText_empty_with_multiline_docstring.<locals>.IEmptyú� This is an empty interface.

            It can be used to annotate any class or object, because it promises
            nothing.
            Nr   r   r   r   r   r   D   s   r   r!   r   r   r   Ú4test_asStructuredText_empty_with_multiline_docstring3   s"    ózJTest_asStructuredText.test_asStructuredText_empty_with_multiline_docstringc                    sX   ddl m‰  ddl m} d ddddd	d
g¡}G ‡ fdd„d|ƒ}|  |  |¡|¡ d S )Nr   ©Ú	Attributer
   r   ÚIHasAttributeú! This interface has an attribute.r   z"  an_attribute -- no documentationr   r   c                       s   e Zd ZdZ” dƒZdS )z^Test_asStructuredText.test_asStructuredText_with_attribute_no_docstring.<locals>.IHasAttributeú. This interface has an attribute.
            Úan_attributeN©r   r   r   r    r.   r   r)   r   r   r+   W   s   ©r   r*   r   r   r   r	   ©r   r   r   r+   r   r)   r   Ú1test_asStructuredText_with_attribute_no_docstringL   s    úzGTest_asStructuredText.test_asStructuredText_with_attribute_no_docstringc                    sX   ddl m‰  ddl m} d ddddd	d
g¡}G ‡ fdd„d|ƒ}|  |  |¡|¡ d S )Nr   r)   r
   r   r+   r,   r   z/  an_attribute -- This attribute is documented.r   r   c                       s   e Zd ZdZ” ddƒZdS )z`Test_asStructuredText.test_asStructuredText_with_attribute_with_docstring.<locals>.IHasAttributer-   r.   úThis attribute is documented.Nr/   r   r)   r   r   r+   i   s   ÿr0   r1   r   r)   r   Ú3test_asStructuredText_with_attribute_with_docstring^   s    úzITest_asStructuredText.test_asStructuredText_with_attribute_with_docstringc                 C   sH   ddl m} d dddddd	g¡}G d
d„ d|ƒ}|  |  |¡|¡ d S )Nr   r
   r   Ú
IHasMethodú This interface has a method.r   r   z  aMethod() -- no documentationr   c                   @   s   e Zd ZdZdd„ ZdS )z`Test_asStructuredText.test_asStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethodú* This interface has a method.
            c                   S   s   d S ©Nr   r   r   r   r   ÚaMethod~   s    zhTest_asStructuredText.test_asStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethod.aMethodN©r   r   r   r    r9   r   r   r   r   r5   {   s   r   ©r   r   r   r5   r   r   r   Ú6test_asStructuredText_with_method_no_args_no_docstringq   s    úzLTest_asStructuredText.test_asStructuredText_with_method_no_args_no_docstringc                 C   sH   ddl m} d dddddd	g¡}G d
d„ d|ƒ}|  |  |¡|¡ d S )Nr   r
   r   r5   r6   r   r   z,  aMethod(first, second) -- no documentationr   c                   @   s   e Zd ZdZdd„ ZdS )zhTest_asStructuredText.test_asStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethodr7   c                 S   s   d S r8   r   ©ÚfirstÚsecondr   r   r   r9   �   s    zpTest_asStructuredText.test_asStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethod.aMethodNr:   r   r   r   r   r5   �   s   r   r;   r   r   r   Ú>test_asStructuredText_with_method_positional_args_no_docstringƒ   s    úzTTest_asStructuredText.test_asStructuredText_with_method_positional_args_no_docstringc                 C   sH   ddl m} d dddddd	g¡}G d
d„ d|ƒ}|  |  |¡|¡ d S )Nr   r
   r   r5   r6   r   r   z3  aMethod(first, second, *rest) -- no documentationr   c                   @   s   e Zd ZdZdd„ ZdS )zaTest_asStructuredText.test_asStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethodr7   c                 W   s   d S r8   r   ©r>   r?   Úrestr   r   r   r9   ¢   s    ziTest_asStructuredText.test_asStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethod.aMethodNr:   r   r   r   r   r5   Ÿ   s   r   r;   r   r   r   Ú7test_asStructuredText_with_method_starargs_no_docstring•   s    úzMTest_asStructuredText.test_asStructuredText_with_method_starargs_no_docstringc                 C   sH   ddl m} d dddddd	g¡}G d
d„ d|ƒ}|  |  |¡|¡ d S )Nr   r
   r   r5   r6   r   r   z2  aMethod(first, second, **kw) -- no documentationr   c                   @   s   e Zd ZdZdd„ ZdS )z_Test_asStructuredText.test_asStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethodr7   c                 [   s   d S r8   r   ©r>   r?   Úkwr   r   r   r9   ´   s    zgTest_asStructuredText.test_asStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethod.aMethodNr:   r   r   r   r   r5   ±   s   r   r;   r   r   r   Ú5test_asStructuredText_with_method_kwargs_no_docstring§   s    úzKTest_asStructuredText.test_asStructuredText_with_method_kwargs_no_docstringc                 C   sH   ddl m} d dddddd	g¡}G d
d„ d|ƒ}|  |  |¡|¡ d S )Nr   r
   r   r5   r6   r   r   z)  aMethod() -- This method is documented.r   c                   @   s   e Zd ZdZdd„ ZdS )zZTest_asStructuredText.test_asStructuredText_with_method_with_docstring.<locals>.IHasMethodr7   c                   S   s   dS ©z+This method is documented.
                Nr   r   r   r   r   r9   Æ   s    zbTest_asStructuredText.test_asStructuredText_with_method_with_docstring.<locals>.IHasMethod.aMethodNr:   r   r   r   r   r5   Ã   s   r   r;   r   r   r   Ú0test_asStructuredText_with_method_with_docstring¹   s    úzFTest_asStructuredText.test_asStructuredText_with_method_with_docstringc                    st   ddl m‰  ddl m} d ddddd	d
ddddddg¡}G dd„ d|ƒ}G ‡ fdd„d|ƒ}|  |  |¡|¡ d S )Nr   r)   r
   r   ÚIDerivedú IDerived docú This interface extends:z	  o IBaser   z  attr1 -- no documentationz  attr2 -- attr2 docr   z  method3() -- method3 docz  method4() -- no documentationz  method5() -- method5 docr   c                   @   s   e Zd Zdd„ Zdd„ ZdS )zOTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IBasec                   S   s   d S r8   r   r   r   r   r   Úmethod1ß   s    zWTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IBase.method1c                   S   s   d S r8   r   r   r   r   r   Úmethod2á   s    zWTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IBase.method2N©r   r   r   rL   rM   r   r   r   r   ÚIBaseÞ   s   rO   c                       s:   e Zd ZdZ” dƒZ” ddƒZdd„ Zdd„ Zd	d
„ ZdS )zRTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerivedúIDerived docÚattr1Úattr2ú	attr2 docc                   S   s   dS ©zmethod3 docNr   r   r   r   r   Úmethod3é   s    zZTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerived.method3c                   S   s   d S r8   r   r   r   r   r   Úmethod4ë   s    zZTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerived.method4c                   S   s   dS ©zmethod5 docNr   r   r   r   r   Úmethod5í   s    zZTest_asStructuredText.test_asStructuredText_derived_ignores_base.<locals>.IDerived.method5N©	r   r   r   r    rQ   rR   rU   rV   rX   r   r)   r   r   rI   ä   s   
r0   ©r   r   r   rO   rI   r   r)   r   Ú*test_asStructuredText_derived_ignores_baseÌ   s&    ôz@Test_asStructuredText.test_asStructuredText_derived_ignores_baseN)r   r   r   r	   r   r"   r(   r2   r4   r<   r@   rC   rF   rH   r[   r   r   r   r   r      s   r   c                   @   sl   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ ZdS )ÚTest_asReStructuredTextc                 C   s   ddl m} ||ƒS )Nr   )ÚasReStructuredText)r   r]   )r   r   r]   r   r   r   r	   õ   s    z Test_asReStructuredText._callFUTc                 C   sD   ddl m} d ddddg¡}G dd	„ d	|ƒ}|  |  |¡|¡ d S )
Nr   r
   r   z``INoDocstring``r   r   r   c                   @   s   e Zd ZdS )zRTest_asReStructuredText.test_asReStructuredText_no_docstring.<locals>.INoDocstringNr   r   r   r   r   r     s   r   r   r   r   r   r   Ú$test_asReStructuredText_no_docstringù   s    üz<Test_asReStructuredText.test_asReStructuredText_no_docstringc                 C   sF   ddl m} d dddddg¡}G d	d
„ d
|ƒ}|  |  |¡|¡ d S )Nr   r
   r   ú
``IEmpty``r   r   r   r   c                   @   s   e Zd ZdZdS )zTTest_asReStructuredText.test_asReStructuredText_empty_with_docstring.<locals>.IEmptyr   Nr   r   r   r   r   r     s   r   r   r!   r   r   r   Ú,test_asReStructuredText_empty_with_docstring  s    ûzDTest_asReStructuredText.test_asReStructuredText_empty_with_docstringc                 C   sT   ddl m} d dddddd	dd
ddddg¡}G dd„ d|ƒ}|  |  |¡|¡ d S )Nr   r
   r#   r_   r   r   r$   r%   r&   r   r   c                   @   s   e Zd ZdZdS )z^Test_asReStructuredText.test_asReStructuredText_empty_with_multiline_docstring.<locals>.IEmptyr'   Nr   r   r   r   r   r   $  s   r   r   r!   r   r   r   Ú6test_asReStructuredText_empty_with_multiline_docstring  s"    ózNTest_asReStructuredText.test_asReStructuredText_empty_with_multiline_docstringc                    sX   ddl m‰  ddl m} d ddddd	d
g¡}G ‡ fdd„d|ƒ}|  |  |¡|¡ d S )Nr   r)   r
   r   ú``IHasAttribute``r,   r   z&  ``an_attribute`` -- no documentationr   r   c                       s   e Zd ZdZ” dƒZdS )zbTest_asReStructuredText.test_asReStructuredText_with_attribute_no_docstring.<locals>.IHasAttributer-   r.   Nr/   r   r)   r   r   r+   7  s   r+   r0   r1   r   r)   r   Ú3test_asReStructuredText_with_attribute_no_docstring,  s    úzKTest_asReStructuredText.test_asReStructuredText_with_attribute_no_docstringc                    sX   ddl m‰  ddl m} d ddddd	d
g¡}G ‡ fdd„d|ƒ}|  |  |¡|¡ d S )Nr   r)   r
   r   rb   r,   r   z3  ``an_attribute`` -- This attribute is documented.r   r   c                       s   e Zd ZdZ” ddƒZdS )zdTest_asReStructuredText.test_asReStructuredText_with_attribute_with_docstring.<locals>.IHasAttributer-   r.   r3   Nr/   r   r)   r   r   r+   I  s   ÿr+   r0   r1   r   r)   r   Ú5test_asReStructuredText_with_attribute_with_docstring>  s    úzMTest_asReStructuredText.test_asReStructuredText_with_attribute_with_docstringc                 C   sH   ddl m} d dddddd	g¡}G d
d„ d|ƒ}|  |  |¡|¡ d S )Nr   r
   r   ú``IHasMethod``r6   r   r   z#  ``aMethod()`` -- no documentationr   c                   @   s   e Zd ZdZdd„ ZdS )zdTest_asReStructuredText.test_asReStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethodr7   c                   S   s   d S r8   r   r   r   r   r   r9   ^  s    zlTest_asReStructuredText.test_asReStructuredText_with_method_no_args_no_docstring.<locals>.IHasMethod.aMethodNr:   r   r   r   r   r5   [  s   r5   r   r;   r   r   r   Ú8test_asReStructuredText_with_method_no_args_no_docstringQ  s    úzPTest_asReStructuredText.test_asReStructuredText_with_method_no_args_no_docstringc                 C   sH   ddl m} d dddddd	g¡}G d
d„ d|ƒ}|  |  |¡|¡ d S )Nr   r
   r   re   r6   r   r   z0  ``aMethod(first, second)`` -- no documentationr   c                   @   s   e Zd ZdZdd„ ZdS )zlTest_asReStructuredText.test_asReStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethodr7   c                 S   s   d S r8   r   r=   r   r   r   r9   p  s    ztTest_asReStructuredText.test_asReStructuredText_with_method_positional_args_no_docstring.<locals>.IHasMethod.aMethodNr:   r   r   r   r   r5   m  s   r5   r   r;   r   r   r   Ú@test_asReStructuredText_with_method_positional_args_no_docstringc  s    úzXTest_asReStructuredText.test_asReStructuredText_with_method_positional_args_no_docstringc                 C   sH   ddl m} d dddddd	g¡}G d
d„ d|ƒ}|  |  |¡|¡ d S )Nr   r
   r   re   r6   r   r   z7  ``aMethod(first, second, *rest)`` -- no documentationr   c                   @   s   e Zd ZdZdd„ ZdS )zeTest_asReStructuredText.test_asReStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethodr7   c                 W   s   d S r8   r   rA   r   r   r   r9   ‚  s    zmTest_asReStructuredText.test_asReStructuredText_with_method_starargs_no_docstring.<locals>.IHasMethod.aMethodNr:   r   r   r   r   r5     s   r5   r   r;   r   r   r   Ú9test_asReStructuredText_with_method_starargs_no_docstringu  s    úzQTest_asReStructuredText.test_asReStructuredText_with_method_starargs_no_docstringc                 C   sH   ddl m} d dddddd	g¡}G d
d„ d|ƒ}|  |  |¡|¡ d S )Nr   r
   r   re   r6   r   r   z6  ``aMethod(first, second, **kw)`` -- no documentationr   c                   @   s   e Zd ZdZdd„ ZdS )zcTest_asReStructuredText.test_asReStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethodr7   c                 [   s   d S r8   r   rD   r   r   r   r9   ”  s    zkTest_asReStructuredText.test_asReStructuredText_with_method_kwargs_no_docstring.<locals>.IHasMethod.aMethodNr:   r   r   r   r   r5   ‘  s   r5   r   r;   r   r   r   Ú7test_asReStructuredText_with_method_kwargs_no_docstring‡  s    úzOTest_asReStructuredText.test_asReStructuredText_with_method_kwargs_no_docstringc                 C   sH   ddl m} d dddddd	g¡}G d
d„ d|ƒ}|  |  |¡|¡ d S )Nr   r
   r   re   r6   r   r   z-  ``aMethod()`` -- This method is documented.r   c                   @   s   e Zd ZdZdd„ ZdS )z^Test_asReStructuredText.test_asReStructuredText_with_method_with_docstring.<locals>.IHasMethodr7   c                   S   s   dS rG   r   r   r   r   r   r9   ¦  s    zfTest_asReStructuredText.test_asReStructuredText_with_method_with_docstring.<locals>.IHasMethod.aMethodNr:   r   r   r   r   r5   £  s   r5   r   r;   r   r   r   Ú2test_asReStructuredText_with_method_with_docstring™  s    úzJTest_asReStructuredText.test_asReStructuredText_with_method_with_docstringc                    st   ddl m‰  ddl m} d ddddd	d
ddddddg¡}G dd„ d|ƒ}G ‡ fdd„d|ƒ}|  |  |¡|¡ d S )Nr   r)   r
   r   z``IDerived``rJ   rK   z  o ``IBase``r   z  ``attr1`` -- no documentationz  ``attr2`` -- attr2 docr   z  ``method3()`` -- method3 docz#  ``method4()`` -- no documentationz  ``method5()`` -- method5 docr   c                   @   s   e Zd Zdd„ Zdd„ ZdS )zSTest_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IBasec                   S   s   d S r8   r   r   r   r   r   rL   ¿  s    z[Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IBase.method1c                   S   s   d S r8   r   r   r   r   r   rM   Á  s    z[Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IBase.method2NrN   r   r   r   r   rO   ¾  s   rO   c                       s:   e Zd ZdZ” dƒZ” ddƒZdd„ Zdd„ Zd	d
„ ZdS )zVTest_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerivedrP   rQ   rR   rS   c                   S   s   dS rT   r   r   r   r   r   rU   É  s    z^Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerived.method3c                   S   s   d S r8   r   r   r   r   r   rV   Ë  s    z^Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerived.method4c                   S   s   dS rW   r   r   r   r   r   rX   Í  s    z^Test_asReStructuredText.test_asReStructuredText_derived_ignores_base.<locals>.IDerived.method5NrY   r   r)   r   r   rI   Ä  s   
rI   r0   rZ   r   r)   r   Ú,test_asReStructuredText_derived_ignores_base¬  s&    ôzDTest_asReStructuredText.test_asReStructuredText_derived_ignores_baseN)r   r   r   r	   r^   r`   ra   rc   rd   rf   rg   rh   ri   rj   rk   r   r   r   r   r\   ó   s   r\   c                   @   s<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚTest__justify_and_indentc                 K   s   ddl m} |||f|ŽS )Nr   )Ú_justify_and_indent)r   rm   )r   ÚtextÚlevelrE   rm   r   r   r   r	   Õ  s    z!Test__justify_and_indent._callFUTc                 C   s*   ddg}d  |¡}|  |  |d¡|¡ d S )NúThree blind miceúSee how they runr#   r   ©r   r   r	   ©r   ÚLINESrn   r   r   r   Útest_simple_level_0Ù  s    
z,Test__justify_and_indent.test_simple_level_0c                 C   s:   ddg}d  |¡}|  |  |d¡d  dd„ |D ƒ¡¡ d S )Nrp   rq   r#   é   c                 S   s   g | ]}d | ‘qS ©r$   r   ©Ú.0Úliner   r   r   Ú
<listcomp>â  s     z@Test__justify_and_indent.test_simple_level_1.<locals>.<listcomp>rr   rs   r   r   r   Útest_simple_level_1Þ  s
    
ÿz,Test__justify_and_indent.test_simple_level_1c                 C   s:   ddg}d  |¡}|  |  |d¡d  dd„ |D ƒ¡¡ d S )Nrp   rq   r#   rv   c                 S   s   g | ]}d | ‘qS rw   r   rx   r   r   r   r{   è  s     z@Test__justify_and_indent.test_simple_level_2.<locals>.<listcomp>rr   rs   r   r   r   Útest_simple_level_2ä  s
    
ÿz,Test__justify_and_indent.test_simple_level_2c                 C   s:   ddg}d  |¡}|  |  |d¡d  dd„ |D ƒ¡¡ d S )Nrp   rq   z
rv   r#   c                 S   s   g | ]}d | ‘qS rw   r   rx   r   r   r   r{   î  s     z?Test__justify_and_indent.test_simple_w_CRLF.<locals>.<listcomp>rr   rs   r   r   r   Útest_simple_w_CRLFê  s
    
ÿz+Test__justify_and_indent.test_simple_w_CRLFc                 C   s&   d}d}|   | j|dddd�|¡ d S )NzTThis is a piece of text longer than 15 characters, 
and split across multiple lines.z_  This is a piece
  of text longer
  than 15 characters,
  and split across
  multiple lines.
 rv   é   )ZmungeÚwidth)r   r	   )r   ZTEXTr   r   r   r   Útest_with_mungeð  s    z(Test__justify_and_indent.test_with_mungeN)	r   r   r   r	   ru   r|   r}   r~   r�   r   r   r   r   rl   Ó  s   rl   )r    ZunittestZTestCaser   r\   rl   r   r   r   r   Ú<module>   s    a a